Skip to content
geodata.plus
Documentation

Convert GeoJSON to GML Online — Free GIS Converter

Convert GeoJSON to Geography Markup Language (GML) for WFS services, EU INSPIRE compliance, and government data portals — free, browser-based, no install.

Updated May 2026

GeoJSON is the standard for modern web APIs, but government data portals, OGC Web Feature Services (WFS), and EU INSPIRE-compliant systems often require GML — convert your .geojson file to .gml directly in your browser with geodata.plus.

Why convert GeoJSON to GML?

Geography Markup Language is the OGC's XML-based encoding standard for geographic features and is the foundation of WFS 2.0 responses, the EU INSPIRE data infrastructure, and many national SDI (Spatial Data Infrastructure) systems. If you are submitting vector data to a European INSPIRE portal, integrating with a WFS endpoint that requires GML input, or working with a government agency that mandates ISO 19136-compliant data exchange, GML is the required format — not GeoJSON.

GML is also common in infrastructure and utilities domains (water, transport, land administration) where sector-specific application schemas are defined as GML profiles. Converting your GeoJSON to GML is often the mandatory step before data can be ingested into these enterprise systems.

Why use geodata.plus

  • Free tier — convert up to 3 files per month at no cost, no credit card required
  • Automatic CRS detection — reads WGS 84 from your GeoJSON and writes the correct srsName attribute in the GML output
  • Optional reprojection — reproject to any EPSG code so your GML matches the CRS required by the target system (e.g., EPSG:25832 for Germany, EPSG:27700 for Great Britain)
  • Browser-based — no QGIS, GDAL, or ArcGIS install needed; works on any modern browser
  • Encrypted transfer — all uploads use TLS; files are stored temporarily in Cloudflare R2 and automatically deleted on schedule
  • Auto-deleted output — output files are automatically deleted after 2 days (free tier) and 7 days (Pro); no manual cleanup needed

How it works

  1. Upload your GeoJSON file (.geojson or .json) using the widget above
  2. geodata.plus detects the format and confirms the coordinate reference system (WGS 84 / EPSG:4326)
  3. Select GML as the output format; optionally enter a target EPSG code if the receiving system requires a specific CRS
  4. Download your .gml file, ready for WFS integration, INSPIRE submission, or desktop GIS import

GeoJSON format

GeoJSON is an RFC 7946 open standard encoding geographic features as JSON. It is a flat, human-readable structure with no namespacing or schema inheritance. Properties are free-form key-value pairs with no mandatory schema. All coordinates are longitude/latitude in WGS 84 — the spec explicitly prohibits other CRS declarations in the geometry.

| Property | Value | |---|---| | Extension | .geojson, .json | | Type | Vector, single file | | Coordinate system | Always WGS 84 (EPSG:4326) | | Geometry types | Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon | | Common software | Leaflet, Mapbox, OpenLayers, QGIS, ArcGIS, GitHub |

GML format

GML (Geography Markup Language) is an OGC XML grammar for expressing geographic features, defined in ISO 19136. It is schema-driven: features conform to application schemas that define allowed element names, geometry types, and attribute structures. GML can represent complex geometry types including solids, coverages, and topology, which go well beyond what GeoJSON supports. The srsName attribute on geometry elements declares the coordinate reference system using an OGC URN or EPSG URI.

| Property | Value | |---|---| | Extension | .gml | | Type | Vector, single file XML | | Coordinate system | Any CRS (declared via srsName attribute) | | Geometry types | Point, LineString, Polygon, MultiGeometry, Curve, Surface, Solid, and more | | Common software | ArcGIS, QGIS, GeoServer, MapServer, INSPIRE portals, WFS services |

Frequently asked questions

Which GML version does geodata.plus output?

geodata.plus outputs GML 3.2.1 by default, which is the version mandated by the EU INSPIRE Technical Guidelines and WFS 2.0. GML 3.2.1 is also the version required by ISO 19136:2007. If your target system requires GML 2.1.2 (common in older WFS 1.0 endpoints), contact support for a custom conversion.

Are GeoJSON property names used as GML element names?

No. GML requires that feature attribute names conform to the target application schema's namespace. geodata.plus produces a simple generic GML output where properties are encoded as child elements of a <gml:featureMember> using the GeoJSON property names as local element names. For strict schema-validated INSPIRE output, you may need to map these to the official INSPIRE data model element names using a desktop tool like HALE Studio.

Does the GML output include axis order for the CRS?

Yes. geodata.plus writes coordinates in the axis order defined by the EPSG registry for the chosen CRS and includes the srsName URN accordingly. For EPSG:4326, this means latitude/longitude order in the GML geometry (per the EPSG definition), which differs from GeoJSON's longitude/latitude order. Be aware of this when consuming the output in strict GML parsers.

geojsongmlconvertgis