CAD exchange · Local processing

DXF to CSV Points

Inspect supported drawing entities, choose the points or polyline vertices you need, and export a traceable coordinate table without uploading the drawing.

Read the field guide ↓

Inspect drawing entities before extracting points

Local processing · Model space · Explicit selection

R12, 2000, 2004, 2007, 2010, 2013 and 2018 ASCII DXF. Up to 10 MiB, 500,000 group pairs and 100,000 supported vertices. Binary DXF and DWG are not supported.

Choose the geometry that belongs in your point file

Original conceptual photographs, not software screenshots or measured geometry.

Inspect the drawing before choosing a scope

Separate ordinary points, linework and annotations before preparing a coordinate table.

Engineering workstation with an abstract CAD point and polyline view

Discrete objects and connected vertices

The chosen entity type determines which stored locations become output records.

Blue ceramic spheres beside an angular steel rod on a limestone surface

Field guide

From CAD entities to a checked point table

Define the extraction scope before treating drawing coordinates as survey data.

Start with the intended deliverable

This DXF to CSV points tool is for a specific handoff: somebody has supplied a drawing exchange file, and you need a coordinate table from ordinary point entities or selected polyline vertices. It is useful when preparing a review list, checking a CAD export against known control, or moving explicitly chosen design vertices into a point file workflow. A drawing may also contain annotations, boundaries, construction lines and several layouts. Their presence does not mean every visible mark should become a survey point.

Ask the drawing author which layers and objects define the intended deliverable. Record the revision, coordinate reference and purpose in the notes field. Keep the original drawing alongside the resulting table, especially when the file will be passed to another operator. Generated identifiers describe this extraction sequence; they are not recovered field point names. A successful extraction verifies a supported representation, not the survey quality or approval status of the design.

Read the inventory before selecting anything

Choose a UTF-8 text DXF or paste its complete contents, then inspect the entity inventory. The reader accepts the declared ASCII versions R12, 2000, 2004, 2007, 2010, 2013 and 2018. Their ACADVER values are AC1009, AC1015, AC1018, AC1021, AC1024, AC1027 and AC1032. Missing versions, incomplete sections, unmatched code and value lines, and unexpected content after EOF stop the read. A file extension alone is not proof that the contents are readable DXF.

The inventory lists entity types and layers, including objects that cannot be extracted. Filter by type and layer, then select individual eligible rows or all eligible objects within the current filter. Previous selections remain selected when you change filters, so watch the total selected count. A POLYLINE and its VERTEX children appear as one selectable parent entity; the report also preserves the number of underlying records. Block definitions remain outside the extraction scope.

Understand which coordinates are being read

POINT locations and supported three dimensional POLYLINE vertices use world coordinates. Two dimensional polylines require attention to their object coordinate system. This release accepts LWPOLYLINE and ordinary two dimensional POLYLINE only with the default normal, so their supported coordinates can be read consistently in WCS. An altered or reversed normal is reported as unsupported. The reader does not silently interpret those local coordinates as world positions.

This distinction matters when a drawing looks correct in CAD but its raw entity values seem rotated or mirrored. Return to the authoring software for an appropriate export when necessary, and check a known point after doing so. Block insertions may include translation, rotation and scale; those transforms are not expanded here. Meshes, fitted polylines and proprietary objects also stay in the inventory with an explanation rather than yielding a plausible but incomplete set of coordinates.

Decide what a polyline vertex represents

Selecting a supported polyline extracts its stored vertices in file order. It does not place points at a regular chainage, sample terrain along the line, or densify a curved segment. A bulge value means an arc segment may join two vertices; the tool flags that condition and outputs the stored endpoints only. A closed flag records closure without adding an extra copy of the first vertex. An explicitly repeated coordinate already present in the file remains present.

Consider a simple path with stored vertices at E/N 100/200, 110/200 and 110/205, and a common elevation of 12.5. Selecting that one entity produces three point rows. Closing the path still produces three rows, while separately selecting a POINT at 100/200 adds another row at the same position. That is a faithful extraction of two different source entities. Review duplicates afterward if the receiving workflow requires one record per position; the extractor does not decide which source object to discard.

Confirm axes, units and the meaning of height

Confirm that drawing WCS X should become easting and WCS Y should become northing for your intended table. Axis letters in other survey exports may use a different convention. The INSUNITS header, when present, is displayed as a declaration to review, not accepted as evidence that the coordinates use the correct project unit. Choose metres, international feet, legacy US survey feet, millimetres, centimetres or explicitly unitless drawing values. The selection labels the values without scaling them.

Drawing Z needs its own review. A stored height may be a design elevation or a local model value. When a supported DXF entity omits its optional elevation, the format default is zero; the row and report mark that default. It is not a missing survey observation filled with a measured zero. If the intended point deliverable requires unknown heights to remain blank, resolve that interpretation in a deliberate downstream preparation step and preserve the original extraction record.

Choose identifiers and output fields deliberately

The prefix, starting nonnegative integer and minimum digit width define new identifiers. With prefix DXF-, start 1 and width 3, the first records are DXF-001 and DXF-002. Numbering follows source entity order, then stored vertex order, regardless of the order in which checkboxes were clicked. Minimum width does not truncate longer numbers. Original handles and internal entity keys remain available as provenance, and duplicate handles do not overwrite objects.

PNEZD writes point, northing, easting, elevation and description; PENZD exchanges the two horizontal fields. ENZ writes only easting, northing and elevation. The description uses the layer name. Optional appended fields record entity key, type, handle, layer, vertex index, physical source line, source filename, declared output unit and whether Z was defaulted. Choose CSV or TXT, comma, tab or semicolon, and whether to include a header. Check the receiving software rather than assuming every application accepts the same layout.

Review, apply and retain the excluded-object record

The preview shows the point count, selected entity count, output settings and number of unextracted entities. Use the table or point overview to inspect individual coordinates and their source. The plot is a bounded overview without a basemap; exports include the complete selected set. Coordinates retain their source numeric text without display rounding. That preserves representation, but additional decimal places do not establish additional measurement accuracy.

Apply the reviewed extraction to enable its point download. Editing extraction options or selections invalidates the old preview. The separate scope CSV accounts for every inventory entity, including unsupported geometry and eligible objects you did not select. Its text fields are protected for spreadsheet review. The JSON includes the original DXF, options, entity inventory and extracted rows. The instrument-oriented point file preserves raw identifiers and layer text, so import it as data when opening it in a spreadsheet.

Keep the workflow local and within its bounds

Processing runs in a browser worker and can be cancelled. The input limit is 10 MiB and 500,000 group pairs, with no more than 100,000 supported vertices; the point export also has a 10 MiB limit. Dense drawings may reach the group limit before the vertex limit. Reduce the drawing or choose a more focused export instead of assuming that a smaller on-screen preview means the whole source was accepted.

For metre or foot based output, the applied table can be sent directly to the point checker in another local tab with source columns and history. Millimetre, centimetre and unitless files remain available for download; establish the required unit conversion before importing them into a survey workflow. Clear session removes the in-page source and results. Files are not uploaded, and the disk original is never rewritten. Independently check at least one known coordinate and reconcile selected, extracted and excluded object counts before using the file.

DXF coordinate extraction questions

File compatibility, coordinate meaning and a reviewable handoff.

Can I upload a DWG file?

No. Export a supported ASCII DXF from the authoring application first. Renaming a DWG extension does not convert its contents, and binary DXF is outside this reader’s scope.

Why are labels beside my points not used as point numbers?

Text proximity does not establish a reliable identity relationship. The extractor generates new IDs and preserves entity provenance. Use an explicit point export from the authoring software when original survey identifiers are required.

Why does a visible CAD object appear as unsupported?

The file may contain a block insertion, proprietary entity, paper-space geometry, fitted polyline or an object coordinate normal that this release does not transform. Review the stated reason in the inventory and scope report.

Does a zero Z mean the point was measured at elevation zero?

No. It can be an explicitly stored model value or an optional DXF elevation default. The report identifies defaulted heights; the project’s vertical reference still needs separate confirmation.

Will arc segments or closed boundaries create extra points?

Only stored vertices are extracted. Bulged arcs receive a warning, and the closure flag does not append a duplicate first vertex. Existing repeated vertices are retained.

Can I choose only one layer or polyline?

Yes. Filter the inventory and select the eligible entities you need. Changing a filter retains earlier selections, which remain included until you clear or change them.

How do I verify the exported coordinates?

Compare a known WCS coordinate in the source drawing with its exported E/N/Z, check the unit declaration, and reconcile entity keys and vertex indices against the scope CSV and full JSON report.