Skip to main content
Vecaria

DXF to JSON Converter

Local

Parse DXF into structured JSON — entities, tables, blocks — for development, debugging or data pipelines. Free, no sign-up; nothing uploaded.

Sample data loaded — click "Export JSON" to try it.

What is it? DXF to JSON parses a DXF into structured JSON for developers, debugging and data pipelines. Each parsed entity is emitted with its type, layer and geometry fields.

TL;DR: Paste or load an ASCII DXF and export structured JSON for development, debugging or data pipelines: header, tables (e.g. layers), blocks and entities (type, layer, coordinates) serialize as pretty-printed JSON, with an entity-type and layer overview above the output. Free with no sign-up; parsing runs locally, nothing is uploaded, and parser-unsupported types like HATCH are counted as skipped.

How to use

  1. Load or paste ASCII DXF text into the input (a minimal sample is pre-filled).
  2. Click "Export JSON" — the header, tables, blocks and parsed entities are serialized as pretty-printed JSON.
  3. Read the structure overview (entity type breakdown and layer list) above the output, then copy the JSON or download drawing.json.

FAQ

What does the JSON contain?

A header, tables (e.g. layers), blocks and an array of entities with type, layer, coordinates and related fields. Entity types the parser cannot read (e.g. HATCH) are skipped.

Is the schema stable?

The JSON follows the parser's output shape — treat it as a convenient representation rather than a formal standard.

Are angles in degrees?

No — ARC start/end angles are emitted in radians (the DXF file stores degrees); multiply by 180/π if you need degrees.

The parse fails or I get zero entities — now what?

Binary DXF is not supported — re-save the file as ASCII DXF in your CAD tool and try again. Types the parser cannot read (e.g. HATCH) are skipped and counted in the output area.

I actually need GIS data — which tool?

Use DXF to GeoJSON: it converts linework into GeoJSON features with layer names as attributes for QGIS/Mapbox/Leaflet. This tool outputs the parser's raw structure for debugging and data pipelines.

How is this different from DXF to CSV?

DXF to CSV writes one flat row per entity (type, layer, coordinates) for spreadsheets and takeoff; this tool keeps the parser's nested structure — header, tables, blocks and entities with their full fields — for code, debugging and data pipelines. Pick CSV for Excel, JSON for anything a script will load.

How do I use the JSON in Python or jq?

It is plain pretty-printed JSON: in Python, json.load(open("drawing.json")) gives you the entities array. With jq, try 'jq "[.entities[].type] | group_by(.) | map({type: .[0], count: length})" drawing.json' for a type histogram. ARC start/end angles are in radians (multiply by 180/π for degrees), and some fields such as handle are parser-supplied defaults — read them defensively.

Is there a file-size limit?

Nothing is uploaded, so there is no upload cap — the real bound is your device's memory. Parsing runs in the browser; the structure overview steps aside for outputs above roughly 1 MB, but export and download are unaffected.

Examples

  • Paste DXF → get JSON

Supported formats

DXFJSON

Limitations

  • ASCII DXF only — re-save binary DXF/DWG as ASCII in your CAD app first.
  • Output is the parser structure (entities/tables/blocks); entity types the parser cannot read (e.g. HATCH) never reach the output — the output area shows converted/skipped counts (raw-text census, including parser-dropped types).
  • ARC angles are emitted in radians (degrees in the DXF file); some fields (e.g. handle) are parser-supplied defaults.
  • Output is pretty-printed JSON — expect more bytes than minified JSON.
  • The structure overview covers outputs up to ~1 MB; for larger outputs it steps aside (conversion and download are unaffected).
  • Runs locally in your browser; nothing is uploaded.

Privacy

Privacy first: this tool runs entirely in your browser — your input and files never leave your device, and everything is cleared when you close the page.