Try the Tool Free

How to Find the Projection of a GeoJSON File (When Coordinates Are Wrong)

Published: January 2025 Read time: 7 minutes

You've loaded a GeoJSON file into your map, and instead of seeing your data in California, you're looking at a tiny speck near Africa—or nothing at all. Or maybe your polygons are microscopic dots near the equator.

Welcome to one of GIS's most frustrating quirks: GeoJSON files with the wrong projection.

This guide explains why this happens and how to fix it.

Quick Solution: Use Projection Finder

Projection Finder detects this problem automatically:

  1. Upload your GeoJSON — Drag and drop the file
  2. Detects coordinate mismatch — Identifies if coordinates look projected, not geographic
  3. Suggests likely CRS — Based on coordinate ranges and patterns
  4. Preview on map — Test different projections to find the right one
  5. Export corrected GeoJSON — Reproject to proper WGS84

Fix Your GeoJSON Now

Upload your file and see where the coordinates actually belong on the map.

Open Projection Finder

The GeoJSON Spec Problem

Here's the core issue:

The GeoJSON specification (RFC 7946) requires all coordinates to be in WGS84 (EPSG:4326)—longitude first, latitude second: [lon, lat]

There is no mechanism in GeoJSON to specify a different coordinate system. The spec assumes WGS84. Period.

But in practice, many tools export GeoJSON with projected coordinates:

The result? Files that look like valid GeoJSON but have coordinates in meters (UTM, State Plane) instead of degrees (WGS84).

What This Looks Like

Correct GeoJSON (WGS84)

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [-122.4194, 37.7749]
  }
}

Coordinates: [-122.4194, 37.7749] — San Francisco

Broken GeoJSON (Projected Coordinates)

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [552474.23, 4182938.15]
  }
}

Coordinates: [552474.23, 4182938.15] — UTM meters, but interpreted as degrees

Result: The viewer interprets 552474 as longitude (impossible—max is 180) and either errors out, wraps the coordinates, or shows a point at a meaningless location.

How to Identify the Problem

Symptom 1: Data Appears at 0°, 0°

Your features cluster near the Gulf of Guinea (where the equator meets the prime meridian). This happens when large projected numbers get truncated or wrapped.

Symptom 2: Features Are Microscopic

Your polygons appear as tiny dots. This happens when meter values (like 500,000) are interpreted as fractions of a degree.

Symptom 3: Nothing Shows at All

Some viewers reject coordinates outside valid lat/lon ranges (-180 to 180, -90 to 90). If your UTM easting is 552474, that's not a valid longitude, so the viewer shows nothing.

Quick Diagnostic: Look at the Coordinates

Open your GeoJSON in a text editor and find the coordinates arrays:

Coordinate Range What It Means
[-180, 180] and [-90, 90] Valid WGS84—this is correct
Large numbers (100,000+) Projected coordinates—needs conversion
Numbers like [529090, 181440] Likely British National Grid
Numbers like [552474, 4182938] Likely UTM

Finding the Actual Projection

Once you've confirmed your GeoJSON has projected coordinates, you need to identify which projection.

Method 1: Use Projection Finder (Fastest)

  1. Go to projectionfinder.com
  2. Drop your GeoJSON file
  3. Tool detects "coordinates don't look like WGS84"
  4. Suggests likely projections based on coordinate patterns
  5. Preview each option until the map shows the right location

Method 2: Context Clues

Ask yourself:

Method 3: Coordinate Range Analysis

X Range Y Range Likely Projection
100K - 900K 0 - 10M UTM (various zones)
0 - 700K 0 - 1.3M British National Grid (EPSG:27700)
100K - 3M 0 - 500K US State Plane (various zones)
-20M - 20M -20M - 20M Web Mercator (EPSG:3857)

How to Fix the GeoJSON

Once you know the source projection, you need to reproject the coordinates to WGS84.

Option 1: Use Projection Finder

Projection Finder can export your data as properly-projected WGS84 GeoJSON once you've identified the source CRS.

Option 2: QGIS

  1. Open QGIS
  2. Drag your GeoJSON file onto the map
  3. When prompted for CRS, enter the source projection (e.g., EPSG:32610 for UTM Zone 10N)
  4. Right-click the layer → Export → Save Features As
  5. Set CRS to EPSG:4326 (WGS84)
  6. Save as GeoJSON

Option 3: Python with GeoPandas

import geopandas as gpd

# Read GeoJSON with the ACTUAL source CRS
gdf = gpd.read_file('broken.geojson')
gdf = gdf.set_crs('EPSG:32610')  # Source CRS (e.g., UTM Zone 10N)

# Reproject to WGS84
gdf_wgs84 = gdf.to_crs('EPSG:4326')

# Save corrected GeoJSON
gdf_wgs84.to_file('fixed.geojson', driver='GeoJSON')

Option 4: ogr2ogr (Command Line)

# Reproject from UTM Zone 10N to WGS84
ogr2ogr -f GeoJSON \
  -s_srs EPSG:32610 \
  -t_srs EPSG:4326 \
  fixed.geojson \
  broken.geojson

What About the Old "crs" Property?

You might see GeoJSON files with a "crs" member:

{
  "type": "FeatureCollection",
  "crs": {
    "type": "name",
    "properties": {
      "name": "EPSG:32610"
    }
  },
  "features": [...]
}

This is deprecated. RFC 7946 removed the crs member. Most modern tools ignore it completely and assume WGS84 regardless.

If you have a GeoJSON with a crs property, don't trust that the coordinates actually match. Verify by previewing on a map.

Frequently Asked Questions

Why is my GeoJSON showing in the ocean at 0°, 0°?

Your GeoJSON has projected coordinates (meters) but viewers assume WGS84 (degrees). Large numbers like 552474 get interpreted incorrectly. Use Projection Finder to identify the actual CRS and reproject.

What coordinate system should GeoJSON use?

Per RFC 7946, GeoJSON MUST use WGS84 (EPSG:4326) with coordinates as [longitude, latitude]. Any other CRS violates the spec and causes compatibility issues.

How do I convert GeoJSON from projected to WGS84?

First identify the source CRS using Projection Finder. Then use QGIS, Python (GeoPandas), or ogr2ogr to reproject to EPSG:4326. The coordinates will change from meters to degrees.

My GeoJSON has a "crs" property. Why doesn't it work?

The crs member was removed from the GeoJSON spec in RFC 7946. Most tools ignore it and assume WGS84. The only solution is to reproject the actual coordinates to WGS84.

Can I keep GeoJSON in a projected CRS?

Technically the spec says no, but some tools handle it. For maximum compatibility, always convert to WGS84. If you need projected coordinates, consider GeoPackage instead—it properly supports CRS metadata.

Fix Your GeoJSON Coordinates

Projection Finder identifies the actual CRS and lets you export properly-formatted WGS84 GeoJSON.

Try Projection Finder Free

Summary

  1. GeoJSON requires WGS84 — The spec mandates [lon, lat] in degrees
  2. Many files violate this — Tools often export projected coordinates incorrectly
  3. Identify the problem — Large numbers (100,000+) indicate projected coordinates
  4. Find the source CRS — Use context clues or Projection Finder
  5. Reproject to WGS84 — QGIS, Python, or ogr2ogr can transform coordinates

Related Guides

Related Resources