SVG to STL
Extrude closed, filled SVG shapes into a measured 3D mesh. Set the artwork width and thickness, keep fill-rule holes intact, add an optional base plate, and inspect the result before downloading an STL.
Local file inputs
99 / 250,000 characters. Raw SVG is read as data and never inserted into this page.
Closed paths, rectangles, circles, ellipses and polygons. Convert strokes and text to filled paths first. Ctrl or ⌘ + Enter creates; Escape cancels.
Supported SVG and processing bounds
Standard closed path commands, including Bézier curves and elliptical arcs, support both fill rules and ordinary SVG transforms. Separate filled shapes must not overlap; union them in a vector editor first. Touching or self-intersecting outlines are rejected, including gaps that disappear at STL coordinate precision.
Scripts, links, images, clones, stylesheets, text, masks, filters, clipping and unsupported paints are rejected. Export plain SVG and flatten those features before loading. Color does not carry into STL.
The mesh uses artwork bounds, preserving aspect ratio. Width: 0.1 to 1,000 mm. Extrusion and base thickness: 0.1 to 100 mm. Base margin: 0.1 to 100 mm per side. Output depth: 0.01 to 2,000 mm. STL always uses millimeter coordinates.
Bounds: 250,000 SVG characters, 256 elements, 32 group levels, 128 contours, 2,000 total path segments, 3,000 sampled vertices and 30,000 triangles. Processing stops after 15 seconds. An error or cancellation keeps your source and settings.
Give your outline depth
Create a mesh to rotate the actual geometry, inspect its holes and review dimensions before downloading.
A square example is ready. Create its mesh or choose your own SVG.
Try a measured example
Accuracy. Extrudes supported closed, filled SVG contours and preserves their fill-rule holes. Curves are sampled at the selected chord tolerance; geometry that intersects, touches, overlaps or collapses at STL precision is rejected before export. STL coordinates are millimeters with no stored unit; review the mesh in your slicer, since this tool does not assess structural strength or printer compatibility.
Common questions
- How do I convert an SVG to an STL file?
- Choose a local SVG or paste its markup, enter an artwork width and extrusion thickness, and select Create mesh. The tool checks the filled contours, builds a closed surface, and shows its dimensions, volume and geometry notes. Rotate the preview, then download the binary STL.
- Does the converter preserve holes in SVG paths?
- Yes. It applies the SVG evenodd or nonzero fill rule to decide which nested contours are holes. A 10 by 10 mm square with a centered 4 by 4 mm hole, extruded 2 mm, has a volume of 168 mm³. Under nonzero fill, same-direction nested contours may remain filled; this is reported in the geometry notes.
- Which SVG features are supported?
- Supported geometry includes explicitly closed paths, rectangles, rounded rectangles, circles, ellipses and polygons. Standard path commands include Bézier curves and elliptical arcs. Ordinary group and shape transforms and inherited fills are supported. Convert strokes and text to filled paths, flatten clipping and rendering effects, and export plain SVG before loading. Scripts, external resources, clones, images, stylesheets, filters, masks and unsupported paints are rejected. Rendered shapes belong directly in the SVG or in groups. Foreign XML, namespace resets and geometry nested inside another shape are rejected.
- Why was my SVG rejected for overlapping or open geometry?
- Every path subpath must close with Z. The sampled outlines must not intersect or touch, and separate filled shapes must not overlap. These checks also use the exact Float32 coordinates stored in STL: a gap that disappears at that precision blocks export. Separate touching boundaries, enlarge tiny features and union overlapping shapes in a vector editor. Surface edge pairing, triangle area and volume are checked before export.
- How are SVG size and STL units handled?
- Artwork width sets the physical scale while preserving the artwork's aspect ratio; canvas margins do not set the size. Controls accept millimeters, centimeters or inches and convert valid dimensions when you change units. The STL always contains millimeter coordinates, since STL does not store a unit. Import it as millimeters in your slicer.
- What does adding a base plate do?
- A rectangular plate extends by the chosen margin on every side of the artwork. The artwork rises from the plate, so total height is base thickness plus extrusion thickness. The converter creates a joined exterior without duplicate internal caps. A plate connects separate islands and closes the bottoms of artwork holes, turning them into recesses.
- Are curved SVG edges exact in the STL?
- STL represents surfaces with triangles, so curves are approximated by line segments. Choose a smaller curve tolerance for more facets. The tool measures and checks the resulting polygonal mesh; details near the chosen tolerance need inspection in the preview and your slicer. Colors and partial opacity do not carry into STL geometry.
- Can I save my SVG and settings or cancel a conversion?
- After creating a valid mesh, save a project JSON containing the SVG and dimensions. Opening a project validates every setting, including inactive base dimensions; create its mesh again to enable exports. Cancel or press Escape while processing to stop the worker and preserve your current source and settings. Files are processed locally in your browser.
- What processing and dimension limits apply?
- The SVG can contain up to 250,000 characters, 256 elements, 32 nested group levels, 128 contours and 2,000 total path segments. Geometry is bounded to 3,000 sampled vertices, 30,000 triangles and 15 seconds of worker processing. Artwork width is 0.1 to 1,000 mm; extrusion, base thickness and base margin are each 0.1 to 100 mm. Output depth is 0.01 to 2,000 mm. A limit produces a visible error without truncating the source.
Extrudes supported closed, filled SVG contours and preserves their fill-rule holes. Curves are sampled at the selected chord tolerance; geometry that intersects, touches, overlaps or collapses at STL precision is rejected before export. STL coordinates are millimeters with no stored unit; review the mesh in your slicer, since this tool does not assess structural strength or printer compatibility.