There are dozens of GIS file formats. Each one was designed for a specific context — some for desktop GIS software from the 1990s, some for the modern web, some for government data exchange, some for GPS devices. If you have ever downloaded a dataset and wondered why it came as a folder of files instead of a single document, or why the same map data is available in four different formats, this guide is for you.
We will cover the eight most common vector GIS formats: what each one is, what it is best for, its key limitations, and when you should convert to something else.
Vector vs raster: a quick note
GIS data comes in two fundamental types. Vector data represents geographic features as points, lines, and polygons — a city is a polygon, a road is a line, a hospital is a point. Raster data represents the world as a grid of cells, each with a value — satellite imagery, elevation models, and land cover maps are rasters.
All eight formats in this guide are vector formats. Raster formats (GeoTIFF, NetCDF, MBTiles) are a separate world with their own trade-offs.
Shapefile (.shp)
What it is: Created by Esri in 1998, Shapefile is the most widely distributed vector format in the world. It is actually a collection of at least three files (.shp for geometry, .dbf for attributes, .shx for indexing), usually distributed as a ZIP archive.
Best for: Sharing data with colleagues using desktop GIS software, working with legacy government open data portals, and any workflow where maximum software compatibility is the priority.
Key limitations: Field names are capped at 10 characters (a hard limit from the 1980s dBASE format). Files cannot exceed 2 GB. No support for multiple geometry types in one file. No native datetime field type.
When to convert: When you need web mapping, longer field names, or a single-file format. Convert to GeoJSON for web use, GeoPackage for analysis, or DXF for CAD.
GeoJSON (.geojson)
What it is: An open standard (RFC 7946) for encoding geographic features as JSON. Developed in 2008 and standardised by the IETF in 2016. Always uses WGS 84 (EPSG:4326) as the coordinate reference system.
Best for: Web mapping — GeoJSON is the native format for Leaflet, Mapbox GL JS, MapLibre, and D3. GitHub renders GeoJSON files as interactive maps automatically. It is the best format for sharing data with developers and non-GIS people because it opens in any text editor and is human-readable.
Key limitations: Verbose for large datasets (field names repeat for every feature). Always WGS 84 — you cannot store data in a projected CRS. Can be slow to parse for datasets over a few hundred thousand features.
When to convert: Convert to Shapefile when a client needs the legacy format. Convert to GeoPackage for large analysis datasets. Convert to FlatGeobuf for cloud-native web delivery.
KML and KMZ (.kml / .kmz)
What it is: Keyhole Markup Language — an XML format developed for Google Earth, now maintained by the OGC. KMZ is simply a ZIP-compressed KML file, often with embedded images and overlays.
Best for: Sharing data that needs to open directly in Google Earth or Google My Maps. KML supports rich styling — custom icons, line colours, polygon fills, and time-based animations — which no other common format handles as well.
Key limitations: Primarily a visualisation format rather than an analysis format. Attribute support is limited compared to GeoJSON or Shapefile. Not ideal for large datasets or complex geometries.
When to convert: Convert KML to GeoJSON for web mapping, to Shapefile for desktop GIS analysis, or to GeoPackage for multi-layer projects.
GeoPackage (.gpkg)
What it is: An OGC standard introduced in 2014, built on SQLite. A single .gpkg file can contain multiple vector layers, raster tiles, and metadata. It is the OGC's recommended replacement for Shapefile.
Best for: Long-term data storage, multi-layer projects, and any workflow where Shapefile's limitations (field names, file size, single layer) are causing problems. QGIS uses GeoPackage as its default project file format.
Key limitations: Less universally supported than Shapefile — older tools may not read GPKG without a plugin. Not human-readable. The multi-layer capability can be a surprise for tools that only expect one layer per file.
When to convert: Convert from Shapefile to GeoPackage when you hit field name or size limits. Convert from GeoPackage to GeoJSON for web delivery.
GPX (.gpx)
What it is: GPS Exchange Format — an XML schema for sharing GPS data between devices and applications. Standardised by Topografix, widely supported by Garmin, Strava, Komoot, AllTrails, and every consumer GPS device.
Best for: Storing GPS tracks, routes, and waypoints from outdoor activities or surveying. Loading routes onto GPS devices. Exchanging route data between fitness apps. GPX preserves elevation data and timestamps, which most other formats cannot.
Key limitations: Not a general-purpose GIS format — attributes beyond name, description, and elevation are not well supported. Not ideal for complex polygons or large feature datasets.
When to convert: Convert GPX to GeoJSON or Shapefile to analyse tracks in a GIS. Convert GPX to KML to visualise in Google Earth with styled tracks.
DXF (.dxf)
What it is: Drawing Exchange Format — Autodesk's open format for sharing CAD drawings between AutoCAD and compatible tools. DXF stores geometric entities (lines, polylines, points, arcs, text) without a coordinate reference system.
Best for: Sharing geospatial data with civil engineers, architects, or surveyors who work in AutoCAD, BricsCAD, or QCAD. Site boundaries, cadastral parcels, and infrastructure layouts often arrive as DXF from engineering contractors.
Key limitations: No native CRS support — coordinates may be in local or projected systems without documentation. Attribute support is minimal. Complex entities (hatching, blocks, XREFs) are not supported by GDAL's DXF driver.
When to convert: Convert DXF to GeoJSON or Shapefile to bring engineering drawings into GIS. Convert GIS data to DXF to deliver to a CAD workflow.
GML (.gml)
What it is: Geography Markup Language — the OGC standard for encoding geographic features as XML. GML is the mandatory output format for WFS (Web Feature Service) endpoints and INSPIRE-compliant datasets across EU government agencies.
Best for: Government and institutional data exchange where INSPIRE compliance is required. Querying WFS services. Submitting data to government portals that mandate OGC-standard formats.
Key limitations: Very verbose XML — a GML file is often 10x larger than the equivalent GeoJSON. Complex application schemas can be difficult to parse. Not a good working format for analysis.
When to convert: Convert GML to GeoJSON or Shapefile as the first step when working with WFS data. Convert GIS data to GML when submitting to a government portal.
FlatGeobuf (.fgb)
What it is: A binary OGC Community Standard designed for cloud-native geospatial workflows. FlatGeobuf uses the FlatBuffers serialisation format, enabling zero-copy reads. It supports HTTP range requests, meaning a web client can fetch only the features it needs from a remote file without downloading the entire dataset.
Best for: Serving large vector datasets directly from object storage (S3, GCS, Azure Blob) without a tile server. Read performance is significantly faster than GeoJSON for large datasets. Being adopted by QGIS, GDAL, and cloud GIS platforms.
Key limitations: Not human-readable. Still gaining tooling support — some older GIS software does not yet support .fgb natively. Not yet as ubiquitous as GeoJSON or Shapefile.
When to convert: Convert GeoJSON to FlatGeobuf when you need to serve large vector data over HTTP efficiently. Convert FlatGeobuf to GeoJSON or Shapefile when working with tools that do not yet support .fgb.
How to choose the right format
The right format depends entirely on what you are doing with the data:
- Web mapping app → GeoJSON (or FlatGeobuf for large datasets)
- Desktop GIS analysis → GeoPackage (or Shapefile for legacy compatibility)
- Sharing with Google Earth → KML or KMZ
- GPS device / fitness apps → GPX
- CAD / engineering workflow → DXF
- Government / INSPIRE / WFS → GML
- Cloud-native object storage → FlatGeobuf
- Maximum compatibility / legacy systems → Shapefile
In practice, most workflows involve converting between formats at least once. A dataset arrives as a Shapefile, you convert it to GeoJSON to build a web map, then convert it to GeoPackage for long-term archiving. Having a reliable conversion tool at hand makes this frictionless.
Convert between any of these formats — free
Maparz supports all eight formats covered in this guide. Upload any file and convert to any output format in seconds. Powered by GDAL. No signup required.