Format → format, with a loss forecast

Upload a CAD or GIS file and get it in the format you need, knowing in advance what will change

We read CAD drawings and GIS files. We now write to 10 formats, with more on the way: GeoPackage, MapInfo TAB, Shapefile, DXF, GeoJSON, KML, CSV, GML, FlatGeobuf, SQLite. DWG only in, never out, with a loss forecast before writing and verification after.

For engineers, surveyors and GIS specialists.

Upload a file and get it in the format you need

Here is how it looks on Roads_CAD.dwg

DWG, DXF, MapInfo TAB, Shapefile, GeoPackage, GeoJSON, KML, and ZIP archives with them

We don't keep your file: we read it, measure it, and delete it.

7152of 7152 written and verified
3355of 7152 elevation removed in MapInfo TAB

on Roads_CAD.dwg

Drawing
Result
roads labels
3355 of 7152: elevation removed in MapInfo TAB, in GeoPackage next to it elevation is intact

MapInfo TAB → DXF. It works the other way too: 30 of 30 geometry features kept when writing to DXF.

How it works

Two paths, one converter

"Simple": file → format → result, layers go as they are. "Engineering": the same job plus a schema where you can turn off a layer, a process, or a format.

Simple

3 steps. For a one-off job and without the unnecessary questions.

1

File

Upload a drawing or a table, one file at a time or as a ZIP archive.

Roads_CAD.dwg1.1 MB · 9 layers · 7152 features
2

Format

Choose what to write and see the loss forecast right away.

MapInfo TABelevation will be removed from 3355 of 7152
3

Result

We write, read it back and compare, then show the "Verified" or "Verified with losses" seal on screen with a number.

7152of 7152 written and verified

Engineering

File → schema → format → result. A schema controls layers and processes.

1

File

Upload a drawing or a table, one file at a time or as a ZIP archive.

Roads_CAD.dwg1.1 MB · 9 layers · 7152 features
2

Schema

Layers pass through processes: merge, filter, rename. Or skip processes, as is.

Merge into "Roads"2 layers → 1, geometry and fields unchanged
3

Format

Choose what to write and see the loss forecast right away.

MapInfo TABelevation will be removed from 3355 of 7152
4

Result

We write, read it back and compare, then show the "Verified" or "Verified with losses" seal on screen with a number.

7152of 7152 written and verified

Formats

What each format keeps, and what it loses

Our own measurements on real files, not the format's documentation.

GeoPackage
elevation ✓fields ✓layers ✓

Nothing to lose: the round trip on 7152 features matched with zero differences.

details
  • nothing to lose: the round trip on 7152 features matched with zero differences
MapInfo TAB
elevation ✕text ≤254field name ≤31

Elevation isn't stored: 3355 of 7152 features came back flat.

details
  • elevation isn't stored: 3355 of 7152 features came back flat
  • field name up to 31 characters, string up to 254 bytes in its encoding
Shapefile
elevation ⚠ per datasetfield name ≤10geometry ✕ mixed

A flat feature in a 3D dataset gets a made-up Z=0 (745 features).

details
  • field name up to 10 characters, mixed geometry isn't supported
  • a flat feature in a 3D dataset gets a made-up Z=0 (745 features)
AutoCAD DXF
fields ✕layers → 1

One feature dataset per file, doesn't store its own fields.

details
  • one feature dataset per file, doesn't store its own fields (only Layer, SubClasses)
GeoJSON
datasets ✕ (1 per file)

Several datasets don't fit in one .geojson file, so we don't write it that way.

details
  • one GeoJSON file holds ONE dataset. With more than one, we refuse to write it, otherwise the rest would vanish silently. Pick a format that holds several datasets (GeoPackage), or write one dataset at a time
KML
WGS84 onlyinteger → stringone dataset per pass

KML stores coordinates only in WGS84 degrees. Other units aren't rejected but land on a different point of the globe.

details
  • coordinates are stored only as WGS84 degrees. A coordinate in other units isn't rejected but silently lands on a different point of the globe (X=539640 came back as −20.83). Before writing to KML we reproject the coordinate to WGS84 ourselves, and if the source CRS isn't known, we don't write until it's assigned
  • datasets can't be interleaved on write, so we write one pass per dataset
  • a 64-bit integer comes back as a string on read, a trailing space in a string doesn't come back
CSV
geometry ✓ (with an option)

Without the GEOMETRY=AS_WKT option, geometry disappears silently, so we always turn it on.

details
  • without the GEOMETRY=AS_WKT option, geometry disappears silently, so we always turn it on
See more formats

3 more write formats, plus what we read on input.

GML
elevation ✕ (file won't read)fields ✓

Dimensionality is a property of the FILE: with mixed elevation, even flat datasets fail to read. On Roads_CAD this hit 6 of 9 datasets.

FlatGeobuf
elevation ⚠ per datasetfeature order ✕

Builds a spatial index and writes by it, not in write order (five points in a row came back 4-0-2-3-1).

SQLite
names → lower caseelevation ✓

Dataset and field names are lower-cased (AnnualMaintenanceCostEuro → annualmaintenancecosteuro).

DWG: input only
read ✓write ✕

We read DWG natively, no AutoCAD needed. We write from DWG to every supported format, but never back to DWG.

DXF: input and output
read ✓write ✓

Full card above. This is just a reminder that we read it too.

The list keeps growing: a format joins it only after we've checked writing and reading it back on real files ourselves.

Verification is the core of the product

We wrote it, read it back, and verified it.

The seal on screen is not just "done": we verify our own result against the source, feature by feature.

Verified

Everything matched: what you download, we read back and compared with what we had

Verified with losses

Everything matched except what we showed in advance: elevation removed from 3355 of 7152

Didn't match

The result differs in a way we didn't warn about: that's our bug, not a property of the format

The engineering view

How data flows inside: layers → processes → formats

Line thickness is the feature count. Amber is a loss, named before writing.

Roads_CAD.dwg 9 layers · 7152 features Roads 7 layers by class Labels E_TRN_Roads_LABL CRS text Disclaimer intake Process Merge into "Roads" 7 layers → 1 Process Labels to points text → point forecast write GeoPackage ✓ no loss · 7152 of 7152 MapInfo TAB ⚠ Z removed from 3355 of 7152

The ornament is real data

Real files from different sources

Every preview is the geometry of a real file, not an illustration.

Roads_CAD.dwg

Township of Langley, roads · 7152 features, 9 layers

MERGED_shapes.tab

Dublin, zoning · 6555 polygons (1093 in the thumbnail)

Tile_06986703.dwg

NE_Quadrant, tile: buildings, water, roads · 197 features

ACA.TAB

Dublin, a small clean MapInfo round trip · 23 of 23 features

StreetCenterlines.dxf

Delaware County, a plan with text · 29636 features, 14818 of them text

CoL_Transportation.dwg

City of Langley → GeoJSON, our conversion · 2416 features, 8 layers

Data and trust

What happens to your file

  • The file is deleted as soon as it is no longer needed for processing
  • The result is assembled from the model at write time, kept for 24 hours, then deleted
  • We pass neither the source file nor its derivatives to anyone

Limits we name in advance

  • File size and feature-count limits depend on the allocated resources and the plan. The exact numbers are shown before upload
  • Timing on test files, reading and forecast: Roads_CAD.dwg, 7152 features: about 30 s, and a sewer network of 72,726 features: about 5 min
  • If a format can't do more, we say so at the format-choice step, before writing

FAQ

Frequently asked questions

How do I convert DWG to GeoPackage online?

Upload a DWG or a ZIP, choose GeoPackage, and we read it, compute the loss forecast (usually zero), write it, and verify it.

Can I convert DWG to MapInfo TAB without AutoCAD?

Yes, we read DWG ourselves, no AutoCAD needed. MapInfo TAB doesn't store elevation. On Roads_CAD.dwg that's 3355 of 7152 features, and we state that number before you write.

Why does elevation disappear when writing to TAB?

It's a property of the format, not our bug. Measured on a real file and shown as a number before writing.

Does Shapefile store elevation?

Yes, but dimensionality is a property of the whole dataset: one flat feature, and the entire dataset gets a made-up Z=0 (745 features on Roads_CAD).

Why is a layer name in DXF/DWG sometimes "wrong"?

Layer names in CAD aren't normalised: Road, Roads, ROAD are different layers in the same dataset. We show them as they are.

What happens to the coordinate reference system if the file doesn't have one?

We don't invent one: if the drawing carries any hint of its coordinate system (text, the coordinate range, anything), we find it and show it, calling it a find, not a setting. On Roads_CAD.dwg that hint was plain text inside the drawing.

What happens to long text and labels?

DBF-based formats truncate a string at 254 bytes of its encoding, not characters: 200 Cyrillic characters come back as 139.

Does the file stay with you after conversion?

No. The source file is deleted, the result is kept for 24 hours and then deleted too. We don't pass anything to third parties.

What does the "verified with losses" seal mean?

Everything matched except what we showed in advance, and exactly as shown.

Does this work with ZIP archives of MapInfo/Shapefile?

Yes. Both formats are multi-file (.tab+.dat+.map+.id, .shp+.shx+.dbf+.prj), and we pull out the companion files ourselves and state what we took.

Who decides what a layer means (road, building, water)?

A separate, checkable experiment, not the core converter. The model only picks from a closed dictionary, it never creates geometry.

Can I get DWG as output?

No, we only read DWG. We write to MapInfo TAB, Shapefile, GeoPackage, GML, KML, FlatGeobuf, SQLite, CSV, GeoJSON, and AutoCAD DXF, including the reverse trip from a GIS layer to DXF.

News

What's already done

How work on the project is going: toward the public launch and new capabilities.

October 2026

  • A coordinate system without an EPSG code no longer gets lost when layers are merged.

September 2026

  • A PDF conversion report.
  • The "Verified" seal on the result.
  • Verification of the result against the source file, object by object.

About

Why Swage

Swage is made by a group of engineers and developers with long experience working with open and proprietary GIS and CAD software. We've run into various data-conversion problems and solved them. That's why we know what conversion requires: no losses, with transformation and validation.

Found a bug, numbers that don't match, or a question, write to us: ask@useswage.com.