Convert SVG to DXF
Turn an SVG into a DXF for a laser cutter, a CNC router or a CAD package, in your browser. Shapes, paths and arcs become lines and arcs on layers; text and images do not convert.
Convert your SVG to DXF
Drop your .svg file
.svg
Runs in this tab. Nothing is uploaded, and there is no account to make.
Choose a file to begin.
What this keeps and what it drops
Kept
- outlines as lines and arcs
- circles, ellipses and arcs, kept exact rather than flattened to short lines
- layers and their visibility
- physical size, from the root width and height
Dropped
- fills, strokes, colours and line widths
- cubic and quadratic curves, flattened to short lines
- the original position, anchored to the origin
Proved on 4 fixture drawings on 2026-09-07; 0 incomplete or unitless fixtures were refused rather than exported.
Why convert an SVG to DXF
The usual reason is a cutter. Laser and plasma software, and most CNC toolchains, take DXF and either refuse SVG or import it at the wrong size. The second reason is bringing a logo or a template drawn in Illustrator, Inkscape or Figma into a CAD package that expects a drawing rather than a picture.
Both jobs have the same failure mode: scale. An SVG can be drawn in pixels with no physical size at all, and a DXF must have one. Working that out, and telling you what it decided, is this converter's main job.
How the size is decided
If the SVG's root element declares a width or a height in millimetres, centimetres, inches, points or picas, the drawing is scaled so that one DXF unit is one millimetre and the DXF declares millimetres. A 250 mm wide SVG becomes a 250 mm wide DXF. When the root gives both lengths and they disagree with the viewBox, the converter refuses rather than pick one, and tells you to export a page that matches its drawing.
If the root only has a viewBox, or a width in pixels, there is no physical size to read. This converter then uses the CSS convention of 96 pixels per inch, writes millimetres, and marks the unit as assumed in the report. Check one dimension after import. If it is wrong, open the DXF in the DXF workspace, use "Interpret coordinates as a unit" or "Resize to one target dimension", and export again.
The output is also anchored, so the corner of the SVG page sits at the DXF origin rather than wherever an offset viewBox happened to put it. There is one consequence: a DXF taken to SVG and back keeps its size, its shapes, its layers and its unit, but not its original absolute coordinates.
What becomes what
Lines, rectangles, polylines and polygons become DXF lines. Circles and ellipses become DXF ellipses, kept exact. Path arc commands stay arcs. Cubic and quadratic curves have no DXF equivalent in this converter, so it flattens them to short lines within a tolerance of one ten-thousandth of the drawing's size, well below what a cutter can resolve. This converter applies transforms, so a rotated group arrives rotated.
Each SVG group with an id or an Inkscape layer label becomes a DXF layer of that name. Groups hidden with display:none arrive as hidden layers rather than disappearing.
What it drops
Fills, strokes, colours and line widths: a DXF from this converter is outlines only. Text is refused rather than dropped, because a cutter would silently omit it; convert text to paths in your editor first. Images, clip paths, masks, filters, symbols and use references are refused for the same reason.
Limits
SVG files are limited to 1 MiB, 2,048 elements and 20,000 path commands. Stylesheets, scripts and foreign elements are refused.