Convert SVG to OBJ
This gives your flat drawing a thickness and writes it as an OBJ: a real mesh with shared points, rebuilt normals and one named object per shape. It opens straight into Blender, Maya, Cinema 4D and every game engine.
Drag a 3D file here, or.
This page is set up for SVG files. Other formats we can read work here too.
The file is read on your own computer. It is never uploaded.
Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.
Each shape becomes its own object
A drawing is usually several things — a logo mark and its lettering, a row of parts on a sheet, the pieces of a sign. Each drawing element becomes a separate named object in the OBJ, using the id from the SVG where it has one, so you can move them independently the moment the file opens.
A shape and its holes stay together, because they are one object with a hole in it rather than two objects. A word drawn as a single path stays one object too, even though it is twenty-six separate loops — that is what the person who drew it meant by putting them in one element.
A drawing with a very large number of separate shapes — a traced photograph, say — is merged into one object instead. A list of nine hundred entries is not a list anybody can use.
The mesh is properly built
Extruding an outline naively gives you a pile of loose triangles that do not know they are neighbours. This one is welded first, so points that sit in the same place become one point, and then the normals are rebuilt from the geometry with a thirty degree crease angle — the same threshold Blender uses.
The practical effect is that the flat faces stay flat and the extruded edge stays sharp, while a curved edge shades smoothly round the curve. You can select an edge loop, bevel it, or subdivide it, and nothing falls apart.
Curves become straight lines, finely
Nothing in an OBJ is curved. A Bézier in your SVG becomes a series of straight segments, and how many depends on how much the curve actually bends and how large the drawing is. The tolerance is set from the size of the whole drawing, so a small rounded corner and a large circle come out equally smooth.
If you want fewer triangles, simplify the paths in your drawing program before converting. If you want more, scale the drawing up — the flattening follows the size.
Units and which way is up
OBJ records no units, and modelling programs usually treat one unit as one metre. Your drawing is read in millimetres, so leave the output unit at millimetres if you want the numbers to match the drawing, or set it to metres if you are about to drop the model into a scene built at real-world scale.
The extruded shape lies in the XY plane with its thickness going up Z, which is how a flat thing sits in a CAD program or a slicer. Blender and most modelling programs want Y up instead, so set the output up-axis to Y and the model arrives standing the way that program expects.
What survives, and what does not
Kept in the OBJ file
- One named object per shape in the drawing
- Holes, worked out from which outlines sit inside which
- Shared points and rebuilt normals, so the mesh behaves in a modeller
- The real size, converted to whichever unit you choose
Lost on the way
- Open paths and strokes, which enclose no area
- Colours, gradients and any fill from the SVG
- Live text, unless you convert it to outlines before exporting
How to convert SVG to OBJ
Prepare the drawing first
Text to outlines, strokes expanded, overlapping shapes unioned. An OBJ made from a drawing that skipped these steps is missing pieces rather than wrong in any subtle way.
Drop the .svg file in
Each element becomes its own named object, taking the id from the SVG where there is one. The list under the 3D view shows them.
Set the thickness
It is in millimetres regardless of the output unit, because that is the number people think in. The extrusion goes up Z.
Set the output up axis to Y for Blender
The extrusion naturally lies in the XY plane with thickness up Z, which suits CAD and slicers. Blender, Maya and Cinema 4D want Y up.
Choose the output unit and download
Millimetres to keep the numbers matching the drawing, metres if the model is going into a scene built at real-world scale. You get a single .obj, with no .mtl, because an SVG fill is not a material.
SVG and OBJ compared
| Property | SVG.svg | OBJ.obj |
|---|---|---|
| File contents | XML. A text description of shapes, readable and editable by hand. | Plain text, one item per line. Materials live in a separate .mtl file beside it. |
| Geometry | Flat paths: lines, arcs, and cubic and quadratic Bézier curves. | Triangles and polygons. Also stores free-form curves, which almost nothing writes. |
| Units | Real units are allowed — mm, cm, in — but most files use bare user units. | None. Like STL, the numbers are bare, though exporters usually mean metres. |
| Colour and texture | Fills, strokes, gradients and patterns, none of which describe a solid. | Material names and texture coordinates, with the materials themselves in the .mtl file. |
| Separate objects | Groups and layers, with ids and names on both. | Named objects and groups, each able to carry its own material. |
| Published by | The W3C, 1999. Version 1.1 is what tools write; SVG 2 is still arriving. | Wavefront Technologies, 1980s, for the Advanced Visualizer. |
| Written by | Illustrator, Inkscape, Affinity Designer, Figma and every drawing program. | Blender, Maya, 3ds Max, ZBrush and most modelling programs. |
Questions
- Do I get a .mtl file?
- No. An SVG’s colours are flat fills for a screen and are not carried into the model, so there would be nothing to write into one. Assign materials in your modelling program after opening the file.
- Why is my model lying flat?
- Because a drawing is flat, and the extrusion goes up Z. If your program expects Y to be up, change the output up-axis box and the file is written the other way round.
- Can I make the extrusion hollow?
- Not here. Draw the inner outline in your SVG and it becomes a hole automatically, which is the usual way to get a wall of a particular thickness.
- How many triangles will I get?
- It depends on how many curves the drawing has. The count is shown beside the 3D view before you download, so you can check it against whatever budget you are working to.
- My drawing has nine hundred shapes and they all merged into one object. Why?
- Above a couple of hundred shapes they are merged deliberately. A traced photograph can produce thousands of paths, and an object list that long is not something anyone can work with in a modelling program.
Where to go next
Other things to do with a SVG file
Other ways to get a OBJ file
Related guides and tools
- Turn text into an STLType a word and print it, without drawing anything
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- Reduce the size of an STL fileFewer triangles, the same shape, a much smaller file
- Check whether an STL is ready to printFind out what is wrong with a model before you print it
- Convert STL to DWGGuide
- How to turn a PDF into an STLGuide
- Convert BLEND to OBJGuide
- Convert BLEND to STLGuide