All converters
HomeBlog › GIS file format sizes compared: 1 dataset, 8 formats

GIS file format sizes compared: 1 dataset, 8 formats

By Ghulam Hasnain · PhD researcher, Space Science & Technology · · 5 min read

How big is the same dataset in each format? To find out, I measured GIS file format sizes with a controlled experiment. One identical set of 10,000 survey points went through this site's conversion engine into seven other formats. Then every output was measured, re-opened and read back. The size gap was 16 to 1, and size was not the only difference.

Advertisement

How we measured GIS file format sizes

First, the dataset. I generated 10,000 survey-style points spread across a realistic region, each with seven-decimal coordinates and six attribute columns: id, name, category, elevation_m, recorded_at and surveyor_note. The notes deliberately include accented text, so encoding survival gets tested too.

Next, the engine. Every conversion ran through GDAL 3.8.4 compiled to WebAssembly, which is exactly the engine behind the converters on this site. The flags match what the site passes, so these numbers describe what you actually download here. The dataset is generated from a fixed seed; as a result, anyone can reproduce the run byte for byte.

Finally, verification. Each output was re-opened with GDAL and read back. Therefore the table below reports not just size, but what survived the trip: fields, field names, dates and coordinates.

GIS file format sizes compared: bar chart of the same 10,000 points as KML, Shapefile, GeoJSON, GeoPackage, CSV, GPX, Excel and KMZ
GIS file format sizes for one identical 10,000-point dataset. KML is 16 times larger than KMZ, its own zipped twin.

The results: one dataset, eight sizes

FormatSizeVs sourceAttributes keptWorth knowing
KML5,181,390 B1.9xAll 6, in ExtendedDataLargest by far; simple readers may surface only the name
Shapefile (5 files)3,180,576 B1.2xAll 6, names truncatedThe .dbf alone is 89% of the total
GeoJSON (source)2,690,891 B1.0xAll 6The baseline the others were made from
GeoPackage1,994,752 B0.74x5 fields + id becomes the FIDKeeps full date-and-time values
CSV1,198,910 B0.45xAll 6, plus X and Y columnsDates are reformatted
GPX728,185 B0.27xOnly the nameThe GPX schema rejected the other 5 fields
Excel (.xlsx)583,041 B0.22xAll 6, plus X and Y columnsNumbers arrive typed as numbers
KMZ328,535 B0.12xSame as KMLJust the KML, zipped; smallest of all

So the spread in GIS file format sizes is enormous. The same points, the same attributes and the same precision take 5.2 MB as KML but 0.3 MB as KMZ. In other words, the container matters more than the content.

Why the sizes differ so much

KML is XML, and XML repeats itself. Every one of the 10,000 placemarks carries its own opening tags, closing tags and field names. However, that repetition is exactly what compression loves. Zip the KML into a KMZ and it shrinks by 94%, which is why converting KML to KMZ before emailing is almost always worth it.

The shapefile surprised me from the other direction. Its geometry file (.shp) is only 280,100 bytes; lean, in fact. Instead, the bulk sits in the attribute table: the .dbf is 2,820,226 bytes, or 89% of the whole set. The dBASE format pads every text field to a fixed width with spaces, so short values still occupy their full column width. Consequently, wide text columns inflate a shapefile fast.

GeoPackage stores the same data in a binary SQLite database, which is why it lands 26% under the GeoJSON source while keeping everything queryable. Meanwhile, Excel looks small for a similar reason: a modern .xlsx is itself a zip archive of XML sheets. For a deeper comparison of the two container heavyweights, see GeoPackage vs shapefile.

One caution when you compare GIS file format sizes: GPX looks efficient here, but part of that is data loss. It kept one field out of six, so its 0.7 MB is not a fair fight.

What each format kept, and what it quietly changed

GIS file format sizes are visible at a glance; the content changes are sneakier. These are the ones the read-back caught:

Coordinate precision: nothing was lost

Precision worried me most, and it turned out to be a non-issue. The first point went in at longitude 62.8441543 and latitude 32.1100421. Every geographic format returned exactly those digits: KML, the shapefile, GeoPackage and GPX alike, and the CSV and Excel tables carried them as text columns unchanged. Seven decimal places is roughly a centimetre on the ground, and it survived every conversion. If your data lands in the wrong place after a conversion, precision is not the culprit; the coordinate system usually is.

Download the test data and try it yourself

Here is a 100-point cut of the exact benchmark dataset, in every format from the table. Drop one into any converter on this site and compare what comes out, or open them side by side in QGIS:

GeoJSON CSV KML GPX Excel GeoPackage Shapefile (zip)

Checking GIS file format sizes on your own data takes about a minute per format. And if you only remember three things: zip your KML, expect your shapefile's .dbf to dominate its size, and never send attributes on a round trip through GPX.

Frequently asked questions

Which GIS file format is smallest for the same data?

In this 10,000-point test, KMZ was smallest at 328,535 bytes, followed by Excel at 583,041 bytes. GPX was also small, but only because it dropped five of the six attribute fields on write.

Why is my shapefile so much bigger than the same data as GeoJSON?

The attribute table is the usual reason. The .dbf format pads every text field to a fixed width, and in this test the .dbf was 89% of the shapefile's 3.18 MB total. Wide text columns inflate it quickly.

Does converting between GIS formats lose coordinate precision?

Not in this benchmark. All seven decimal places, roughly centimetre level, came back identical from every format tested. Misplaced data after conversion almost always traces to a coordinate system problem, not to precision loss.

Which format should I choose to keep every attribute intact?

GeoPackage, GeoJSON, CSV and Excel all preserved every field and full field names. Shapefile keeps the values but truncates names to 10 characters and drops time of day from timestamps, while GPX keeps little beyond the waypoint name.

Related converters

Keep reading

About the author

Ghulam Hasnain is a PhD researcher in space science and technology who works with GIS and remote-sensing data every day, wrangling shapefiles, KML, GPX and CAD drawings across QGIS, ArcGIS and Google Earth. He built GISConverter after one too many format conversions that required uploading sensitive survey data to a stranger's server.

Advertisement