Convert GeoJSON, WKT, and WKB Geometries
Paste GeoJSON, WKT/EWKT, or WKB/EWKB and convert between GIS geometry formats locally, including Z/M dimensions, SRID metadata, and precision rounding.
About this tool
geojson-wkt converts simple-feature geometries between GeoJSON, WKT/EWKT, and WKB/EWKB. It is meant for GIS debugging, PostGIS copy/paste workflows, API payload cleanup, and format handoffs where you need the geometry itself rather than a full map or database.
The converter accepts GeoJSON Geometry, Feature, FeatureCollection, GeometryCollection, or arrays of those. WKT input may include an SRID=4326; EWKT prefix. WKB input may be hex or base64 text, one geometry per line. Output can be a single geometry or one geometry per line when a FeatureCollection contains several features.
Worked example
Input GeoJSON:
{"type":"Point","coordinates":[30,10]}
Default output:
POINT(30 10)
With to=geojson, input=SRID=4326;POINT Z (30 10 5), and pretty output enabled, the result is:
{
"type": "Point",
"coordinates": [
30,
10,
5
]
}
Options and limits
- Input format can be auto-detected or forced to GeoJSON, WKT/EWKT, or WKB/EWKB.
- Output format can be WKT/EWKT, GeoJSON, or WKB/EWKB.
- Multiple geometries either wrap into a
GEOMETRYCOLLECTIONor emit one converted geometry per line. - SRID to write adds EWKT/EWKB metadata. Coordinates are not reprojected.
- Coordinate precision rounds coordinates from 0 to 15 decimals;
-1keeps full shortest-round-trip formatting. - WKB text encoding chooses hex or base64; WKB byte order chooses little-endian/NDR or big-endian/XDR.
- The input limit is 2 MB, and nested GeometryCollections are limited to 32 levels.
- Supported geometry types are Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection, including
EMPTY, 2D, Z, M, and ZM forms. - Curved or surface extensions such as
CIRCULARSTRING,TIN, andTRIANGLEare rejected with a clear error instead of being approximated.
FAQ
Does this reproject coordinates between coordinate systems?
No. An SRID is metadata only here. SRID=4326;POINT(30 10) stays at the same numeric coordinates; the tool does not apply EPSG transformations or use a projection database.
What happens to GeoJSON feature properties?
WKT and WKB are geometry-only formats, so feature properties are not represented in those outputs. A GeoJSON FeatureCollection is converted from its geometry members, and features with geometry: null are skipped.
Can it read and write WKB?
Yes. Paste hex WKB/EWKB or base64 WKB/EWKB as text. For output, choose to=wkb, then choose hex or base64 and little-endian or big-endian byte order.
Why do M values disappear in GeoJSON output?
GeoJSON positions are longitude/latitude plus optional elevation. There is no standard M ordinate, so WKT/WKB M values are dropped when producing GeoJSON. Z values are kept as the third coordinate.
Is the input uploaded?
No. The Rust converter runs locally in WebAssembly on the page and locally in the CLI. It does not fetch map tiles, call a geocoder, or send your geometry anywhere.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool geojson-wkt '{"type":"Point","coordinates":[30,10]}'New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/geojson-wkt/?input=%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B30%2C10%5D%7D&from=auto&to=wkt&multi=collection&srid=0&precision=-1&wkb_encoding=hex&wkb_endian=little&pretty=trueMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
