SVG → DXF

SVG to DXF, in millimetres, not guesses.

Laser and CNC software reads DXF, but most “SVG to DXF” converters forget two things: units and curve subdivision. This one writes DXF R12 with millimetres declared, flattens Béziers and arcs to polylines at a 0.2 unit tolerance, and lets you set the finished width so the part comes out the size you meant.

  • DXF R12 (AC1009) with $INSUNITS = millimetres
  • Curves flattened at 0.2 unit tolerance
  • Width in mm set by you — no 96 dpi surprises

Reviewed by the AISVG Pro editorial team · Updated 2026-10-24 · How these tools are tested

Drop an SVG file

SVG only · up to 12 MB · nothing leaves your browser

Filled shapes and stroked paths are both exported. Curves become polylines at 0.2 unit tolerance so laser software can cut them.

THE TOOL, WITHOUT GUESSWORK

What it does and what it costs

InputSVG (filled shapes and stroked paths)
OutputDXF R12 · AC1009 · millimetres
EntitiesPOLYLINE per contour, closed where the source closed
Curve tolerance0.2 source units, 2–48 segments per curve
Sizeyour width in mm, aspect ratio preserved
Vertex ceiling200,000 per conversion
CostFree, unlimited

Numbers above describe this implementation, not a generic promise. If a limit here disagrees with the tool, the tool is the bug — report it to [email protected].


Why convert an SVG to DXF at all?

SVG is a web format; DXF is a machine format. Laser cutters, CNC routers, plasma tables and vinyl plotters mostly speak DXF, and their software expects lines and arcs in real units on a flat plane.

An SVG can carry gradients, filters, fonts, clip paths and CSS — none of which a cutter understands. A DXF carries geometry and nothing else, which is exactly what a toolpath needs.

What does this converter actually write?

Each contour becomes one POLYLINE entity on layer CUT. Closed contours are flagged closed, so laser software treats the outline as a loop rather than an open path you have to join.

The header declares DXF R12 (AC1009), $INSUNITS as millimetres and $MEASUREMENT as metric. R12 is deliberate: it is the version every laser program still opens, including older LightBurn builds, LaserGRBL, AutoCAD, QCAD, Inkscape and Fusion.

Why are curves turned into many small lines?

A DXF polyline has no Bézier segment. The only faithful way to move a curve into it is to sample the curve densely enough that the difference is invisible at cutting scale.

This converter samples at 0.2 source units and caps each curve at 48 segments. On a 200 mm part that is well below the kerf width, so the cut path is not measurably different from the curve. The trade-off is vertex count: a circle becomes about 40 vertices instead of one arc, which is fine for cutting and awkward if you plan to edit the DXF as curves later.

What happens to units and scale?

This is where most conversions go wrong. An SVG with only a viewBox has no physical size at all; converting it at “1 SVG unit = 1 mm” produces a part the wrong size, and at 96 dpi it is wrong by 3.78×.

Here you type the finished width in millimetres. The whole drawing scales proportionally from that one number, and the DXF declares millimetres, so LightBurn and AutoCAD read the same size. If your SVG does carry real units (mm, cm, in), the default width comes from those and you can still override it.

What about stroked lines, text and holes?

Stroked paths with no fill are exported as their centre line. That is what a laser engraves; it is not the outline a vinyl cutter needs.

Live text must be converted to outlines before conversion. There is no font data in a DXF, so converted text would need to be embedded as curves — this converter reads paths, not <text> elements.

Holes inside a shape come through as separate closed contours at the same position. Laser software cuts both loops, which is what you want; if you need fill rules for rendering, keep the SVG.

Clip paths and masks are ignored — the source geometry is exported as drawn, not as clipped.

Which programs open the result?

LightBurn, LaserGRBL, AutoCAD, QCAD, LibreCAD, Inkscape, Fusion 360 and most CAM importers open DXF R12. If a program asks for units on import and offers a choice, pick millimetres; the header already says so, but some importers ignore the header and trust the dialog.

What this converter will not do

  • It will not keep Bézier curves as curves
  • It will not convert live text without outlining it first
  • It will not apply clip paths or masks
  • It skips <defs>, but a layer hidden with display:none is still exported — delete it in the editor first

QUESTIONS

Before you use the file.

Credit packs and prices →
Will LightBurn open the DXF?
Yes. R12 is the most widely supported DXF version, and the file declares millimetres. Import it, check the reported size against the width you set, then place your cut layer.
Why does the DXF look bigger or smaller than in my design tool?
The SVG probably had no physical units, so your design tool assumed 96 dpi while you entered a width in millimetres here. Re-export with an explicit width in mm, or type the intended width on this page.
Can I convert a DXF back to SVG?
Not on this page. DXF → SVG is a different parse and is not implemented here; Inkscape and QCAD both import DXF and can export SVG.
My SVG has text and the DXF is empty — why?
Text elements carry no path data until they are outlined. In Illustrator use Type → Create Outlines; in Inkscape use Path → Object to Path; then re-export the SVG.
Is the file uploaded anywhere?
No. Parsing, flattening and DXF writing all happen in the browser tab.
Why is the DXF so large?
Every flattened curve contributes vertices, and each vertex is written as a VERTEX entity. A 5,000-path trace can produce a multi-megabyte DXF; simplify the source rather than post-processing the DXF.