OnlineMapMaker logo

Gauss-Krüger to WGS84 & UTM Converter

Convert a single coordinate, or an entire GeoJSON file, between German Gauss-Krüger (DHDN, Bessel 1841), WGS84 and UTM — free, entirely in your browser, with the reasoning behind every number shown rather than hidden. Open fullscreen version

Rate this tool:
Advertisement
Advertisement
Loading converter…
Need assistance with your GIS project?Explore Our Services

Why a German Coordinate Converter Needs to Exist

In fifteen years of working with geospatial data, I have lost count of how many German utility maps, cadastral extracts, and old survey plans I have opened only to find coordinates that make no sense on a normal world map — numbers in the millions, clustered around values like 4,593,000 and 5,821,000. That is not corrupted data. That is Gauss-Krüger, and it is still everywhere in Germany's geospatial archives, decades after the country officially moved on to something else.

My honest opinion, after dealing with this professionally: most generic "coordinate converter" tools online get this wrong in one of two ways. Either they treat Gauss-Krüger as if it were interchangeable with any transverse Mercator projection and use the wrong ellipsoid, or they apply a single, nationwide datum-shift approximation and ignore that West and East Germany's historical survey networks were never unified with each other before reunification. Both mistakes are small in code and large in consequence — a few dozen to a few hundred meters of silent error, exactly the kind that goes unnoticed until someone tries to overlay the result on a real map and the parcel boundary lands in the wrong field.

This tool is built to take that seriously: correct ellipsoid, correct zone convention, a West/East regional choice for the datum shift, and full support for converting whole GeoJSON files, not just single points — because in practice almost nobody needs to convert one coordinate; they need to convert a file full of them.

Advertisement
Advertisement

Two Coordinate Systems, One Divided History

Gauss-Krüger and WGS84/UTM were not built at the same time, for the same purpose, or by the same kind of institution. Understanding why explains most of the practical quirks you will run into.

Gauss-Krüger: Born from a 19th-Century Survey

The story starts with Carl Friedrich Gauss, who spent much of 1821 to 1825 directing the triangulation of the Kingdom of Hanover. Gauss needed a way to project the curved surface of the Earth onto flat paper without distorting angles, because angle measurement sat at the center of triangulation surveying. He adapted the transverse Mercator projection, running a narrow band north-south along a chosen meridian so distortion stayed small inside that band. Gauss never published a full general formula for the method. His work survived mostly as private notes and worked examples tied to the Hanover survey, not as a public, reusable procedure.

The mathematics Gauss sketched sat largely unused for close to a century. Germany was a patchwork of dozens of independent states before 1871, and each state ran its own land survey with its own reference point and its own local coordinate system. Even after unification, German geodesists still had no single shared projection covering the whole country. That changed mainly through the work of Johann Heinrich Louis Krüger, who in 1912 published a rigorous, general derivation of Gauss's projection, complete with the series-expansion formulas still in use today for converting between latitude and longitude and projected coordinates. Krüger's paper turned Gauss's private sketch into a practical, repeatable procedure any survey office could apply. That is why the projection carries both names, Gauss-Krüger, honoring the original idea and the person who made it usable.

From the 1920s onward, German states adopted Gauss-Krüger as their standard survey projection, splitting the country into 3-degree-wide zones, each centered on a meridian at 6°E, 9°E, 12°E or 15°E, to keep distortion within acceptable limits for cadastral and engineering work. The underlying reference ellipsoid was Bessel 1841, already about seventy years old by the time Krüger's formulas were adopted, but it fit the existing triangulation network closely enough that replacing it was never worth the disruption.

Then came the division of Germany after the Second World War. West Germany and East Germany each kept their own Gauss-Krüger grid running, but the two triangulation networks were adjusted independently for more than four decades, with no coordination between them. The practical result, still visible today: the best-fit transformation between old Gauss-Krüger data and modern WGS84 genuinely differs depending on whether a point sits in former West or East German territory, a detail many conversion tools quietly ignore. It is a small, concrete piece of Cold War history still baked into German mapping data.

Reunification in 1990 did not erase Gauss-Krüger overnight. Official Germany moved to ETRS89/UTM as its new legal reference system only gradually, state by state, through the 1990s and 2000s, and some cadastral offices did not finish the switch until well into the 2010s. Millions of older survey records, utility maps, and cadastral parcels were never reprojected and still exist only as Gauss-Krüger coordinates. Anyone digitizing old German maps, utility infrastructure, or historical land records runs into Gauss-Krüger sooner or later, which is exactly why a converter like this one still earns its keep.

WGS84 and UTM: Built for a Satellite Age

WGS84 comes from a very different place than Gauss-Krüger. Nobody surveyed a single kingdom to produce it. The United States Department of Defense built it to make satellite positioning possible in the first place. Early satellite geodesy through the 1960s and 1970s showed that no existing national datum was accurate or consistent enough across the whole planet to support one positioning system. Every country's survey network carried its own small, locally-optimized errors, useful for that country alone. The task at hand needed one global reference frame that behaved the same way everywhere on Earth, with no regional patchwork underneath it.

WGS84 was published in 1984 and has been quietly refined several times since, most recently in 2013, each revision tightening the fit between the reference ellipsoid and the Earth's actual shape as satellite tracking data improved. The name and the everyday coordinates stayed stable throughout. It is genuinely one global system, not a set of separately-adjusted regional networks stitched together the way Gauss-Krüger effectively is.

UTM, the Universal Transverse Mercator system, predates WGS84 by decades. The US Army standardized it in the 1940s, but it rests on the same core idea Gauss and Krüger had already worked out: divide the globe into narrow transverse Mercator zones to keep distortion low. UTM simply does this worldwide, in uniform 6-degree zones numbered 1 through 60, rather than Germany's narrower 3-degree Gauss-Krüger zones. A coordinate described as "UTM on WGS84" is running the same transverse Mercator mathematics Gauss developed in the 1820s, just on a modern global ellipsoid instead of Bessel 1841, with wider zones.

Europe adopted ETRS89, a European-fixed reference frame functionally identical to WGS84 for almost any GIS purpose, as its standard in the 1990s. Germany's official coordinates today are ETRS89/UTM: zone 32N in the west, zone 33N in the east.

The Mathematics: How the Projection Actually Works

I am going to walk through this the way I would explain it to a GIS student, not the way it usually gets presented — as a wall of Greek letters with no explanation of what any of it means physically.

Step 1 — Know your ellipsoid

Every projection starts from a mathematical model of the Earth's shape: an ellipsoid, flattened slightly at the poles. Two numbers define it completely: the semi-major axis a (the equatorial radius) and the flattening f. For Bessel 1841, the ellipsoid Gauss-Krüger data is built on:

  • a = 6,377,397.155 meters
  • 1/f = 299.1528128 (so f ≈ 0.0033427731)

From a and f, every other quantity in the formulas below is derived, most importantly the first eccentricity squared, e² = 2f − f², and the second eccentricity squared, e'² = e²/(1−e²). These two numbers show up constantly in what follows.

Step 2 — Meridian arc length: the backbone of the whole projection

The single most important building block is the meridian arc length, M(φ) — literally, how far you would have to walk along the Earth's surface, straight north from the equator, to reach latitude φ. Because the Earth is an ellipsoid and not a sphere, this distance does not scale linearly with φ, and there is no simple closed-form expression for it. Instead it is computed as a converging series in e²:

M(φ) = a · [ (1 − e²/4 − 3e⁴/64 − 5e⁶/256) · φ
            − (3e²/8 + 3e⁴/32 + 45e⁶/1024) · sin(2φ)
            + (15e⁴/256 + 45e⁶/1024) · sin(4φ)
            − (35e⁶/3072) · sin(6φ) ]

Every term after the first is a correction for ellipsoidal flattening, and each successive term is smaller than the last by roughly a factor of e² (about 0.0067 for Bessel 1841) — which is why four terms are already accurate to a fraction of a millimeter across the whole range of German latitudes. This is the Northing's foundation: everything else added to it is a correction for how far east or west of the central meridian you are standing.

Step 3 — The east-west correction terms

Three more quantities, all computed at your latitude φ, drive the correction for longitude distance from the central meridian:

  • N = a / √(1 − e²sin²φ) — the radius of curvature in the prime vertical (how far a degree of longitude actually spans at this latitude)
  • T = tan²φ
  • C = e'²cos²φ

With l as the longitude difference from the central meridian in radians, the full forward equations (Snyder, 1987) are:

Easting  = N·cosφ·l + (N/6)·cos³φ·(1−T+C)·l³
                     + (N/120)·cos⁵φ·(5−18T+T²+14C−58TC)·l⁵

Northing = M(φ) + (N/2)·sinφ·cosφ·l²
                 + (N/24)·sinφ·cos³φ·(5−T+9C+4C²)·l⁴
                 + (N/720)·sinφ·cos⁵φ·(61−58T+T²+270C−330TC)·l⁶

This looks intimidating on first read, but the structure is simpler than it appears: it is a Taylor-series expansion in powers of l, correcting the simple flat-Earth approximation (N·cosφ·l) for how the ellipsoid's curvature bends things as you move further from the central meridian. Within Gauss-Krüger's narrow 1.5-degree half-zones, the l⁵ and l⁶ terms already contribute less than a millimeter — the series converges extremely fast at this scale.

Step 4 — The datum shift, before or after the projection

Everything above happens entirely within one ellipsoid. To move between Bessel 1841 (Gauss-Krüger) and GRS80 (WGS84), you need a separate step: a 7-parameter Helmert transformation, applied in 3D geocentric XYZ space rather than on latitude/longitude directly. It involves converting geographic coordinates to geocentric XYZ, applying three translations, three tiny rotations, and one scale correction, then converting back:

X' = dx + (1+s)·( X − rz·Y + ry·Z )
Y' = dy + (1+s)·( rz·X + Y − rx·Z )
Z' = dz + (1+s)·( −ry·X + rx·Y + Z )

My opinion as a practitioner: this is the step almost everyone gets wrong, not because the formula is hard, but because they skip it entirely and try to reuse Gauss-Krüger's easting/northing directly as if it were on the WGS84 ellipsoid. It never is. The projection math and the datum shift are two independent operations, and both matter.

Which Zone and Region Should You Pick?

ZoneCentral MeridianApproximate Coverage
26°EFar west: western North Rhine-Westphalia, Saarland
39°EWestern/central Germany: most of North Rhine-Westphalia, Hesse, western Bavaria
412°ECentral/eastern Germany: Berlin, Saxony, eastern Bavaria
515°EFar east: eastern Saxony and Brandenburg, near the Polish border
  • Former West Germany: Baden-Württemberg, Bavaria, Bremen, Hamburg, Hesse, Lower Saxony, North Rhine-Westphalia, Rhineland-Palatinate, Saarland, Schleswig-Holstein
  • Former East Germany: Berlin, Brandenburg, Mecklenburg-Vorpommern, Saxony, Saxony-Anhalt, Thuringia

Not sure which one applies? Convert your point first with either region selected, then click "Use the correct GK/UTM zone for this location" — the tool applies a simple geographic rule (roughly: east of 10.5°E and north of 50.8°N counts as former East Germany) to pick both the correct zone and region automatically.

Worked by Hand: Converting the Brandenburg Gate

Real numbers, not placeholders. This is the actual chain of calculation this tool runs, shown one step at a time, starting from the Brandenburg Gate's well-documented WGS84 coordinate.

Starting point (WGS84): latitude 52.516266°N, longitude 13.377775°E.

Step 1: Geographic → geocentric XYZ (on GRS80/WGS84)

Converting to 3D Cartesian coordinates centered on the Earth:

X = 3,783,993.8378 m
Y =   899,923.5184 m
Z = 5,037,966.2582 m

Step 2: Apply the inverse Helmert shift (West Germany parameters)

Using the negated West-Germany parameter set (dx=−598.1, dy=−73.7, dz=−418.2, rx=−0.202″, ry=−0.045″, rz=+2.455″, s=−6.7 ppm) to go from WGS84 back toward DHDN:

X' = 3,783,358.5749 m
Y' =   899,893.7601 m
Z' = 5,037,514.2481 m

Step 3: Geocentric → geographic (on Bessel 1841)

Converting X', Y', Z' back to latitude/longitude, this time using the Bessel 1841 ellipsoid:

DHDN latitude  = 52.51767297°
DHDN longitude = 13.37951396°

Notice this is not the same as the WGS84 coordinate — DHDN's latitude is about 0.0014° further north and its longitude about 0.0017° further east. That tiny shift, roughly 150-190 meters on the ground, is entirely the accumulated effect of a different ellipsoid and a different historical reference frame. It is exactly why you cannot just relabel WGS84 coordinates as DHDN and call it done.

Step 4: Project onto Gauss-Krüger Zone 4 (central meridian 12°E)

With φ = 52.51767297° (0.9166063 rad) and a longitude difference from the central meridian of l = 1.379514° (0.0240771 rad), the intermediate quantities work out to:

N (radius of curvature) = 6,390,841.3354 m
T = tan²φ               = 1.700567
C = e'²cos²φ             = 0.002488
M (meridian arc length)  = 5,820,346.7101 m

Plugging these into the Easting and Northing series from the mathematics section above:

Easting (before false easting)  =    93,631.7509 m
Northing                        = 5,821,241.2561 m

Zone 4's false easting is 4,500,000 (the leading "4" marks the zone), added to the raw easting above:

Rechtswert = 4,500,000 + 93,631.75 = 4,593,631.75
Hochwert   =                          5,821,241.26

For comparison: the same point in UTM zone 33N

Running the same original WGS84 coordinate through the transverse Mercator formulas again — this time on the GRS80 ellipsoid directly, no datum shift needed, central meridian 15°E, scale factor 0.9996 — gives:

UTM 33N Easting  =   389,922.84 m
UTM 33N Northing = 5,819,698.02 m

Both results describe the exact same physical point on Earth. The nearly 3.7-million-meter difference between the two Northing values has nothing to do with distance — it is purely the difference between Gauss-Krüger's false-easting/zone convention and UTM's, plus the small shift from projecting on Bessel 1841 versus GRS80. This is precisely the kind of confusion this converter exists to remove.

Advertisement
Advertisement

Step-by-Step: Using the Converter

Step 1: choosing Gauss-Krüger as the source format and WGS84 as the target format
Step 1

Pick your source format under "Convert from" and your target format under "Convert to." For Gauss-Krüger, also choose the correct zone (2 through 5, matching the central meridian your data was surveyed against) and whether the point falls in former West or East Germany.

Step 2: entering a Rechtswert and Hochwert coordinate pair
Step 2

For a single point, switch to the "Single Coordinate" tab and type the two values — Rechtswert/Hochwert, latitude/longitude, or easting/northing, depending on the source format you picked.

Step 3: the converted result shown alongside a map marker
Step 3

Click Convert. The result appears immediately below, along with the WGS84 coordinate used as the calculation's intermediate step, and a marker drops on the map so you can sanity-check the location at a glance — a fat-fingered zone selection usually becomes obvious immediately here.

Step 4: uploading a GeoJSON file for conversion
Step 4

Switch to the "GeoJSON File" tab to convert a whole file at once. Upload it or paste its contents directly, set the same source/target formats, and click Convert & Preview.

Step 5: the converted GeoJSON shape previewed on the map with a download button
Step 5

The transformed shape draws on the map so you can confirm it lands in the right place, and the panel reports exactly how many coordinate pairs were converted. Click "Download converted.geojson" to save the result — every original property on every feature is preserved untouched.

Who Actually Needs This Converter

In no particular order, from what I have actually seen people use a tool like this for:

  1. Utility companies digitizing legacy network maps. Gas, water, and electricity network drawings from before the 2000s are very often still in Gauss-Krüger, and modernizing an asset-management GIS means converting decades of pipe and cable geometry without losing precision.
  2. Land surveyors reconciling old cadastral records with modern GNSS surveys. A boundary marker surveyed in 1975 and one measured with an RTK-GPS receiver last week need to be compared in the same coordinate system before anyone can say whether they agree.
  3. Archivists and historians digitizing historical German maps. Pre-war and Cold War-era topographic and cadastral maps carry Gauss-Krüger grids; converting scanned map features into a modern GIS format requires this exact transformation.
  4. Environmental consultants working with older monitoring station networks. Groundwater, soil, and air-quality monitoring networks established decades ago often still reference station locations in Gauss-Krüger in their original documentation.
  5. Software developers integrating with German government open-data portals. Some older or regional German open-data GeoJSON exports still ship Gauss-Krüger coordinates inside a technically WGS84-only format, and a web map will silently render them in the wrong place, usually somewhere in the Gulf of Guinea, until they are converted.
  6. Wind and solar energy planners assessing legacy substation and grid-connection data. Grid infrastructure records predating the renewable-energy build-out are frequently still in the older projection.
  7. University geography and surveying students learning geodesy. Gauss-Krüger is still taught in German Vermessungskunde courses specifically because of its historical importance and because working through the transformation by hand, as in the worked example above, is how the concept actually sticks.
  8. GIS consultants auditing a client's existing spatial database for datum consistency. Mixed-datum databases, where some layers are quietly still in DHDN and others in ETRS89 without anyone labeling which is which, are a very common, very expensive-to-discover-late problem this tool helps diagnose quickly.

Technical FAQ

Answers kept deliberately specific rather than generic — if you already know enough to be asking these, you deserve a real answer.

What ellipsoid does Gauss-Krüger actually use, and does it matter which one I pick in other software?

German Gauss-Krüger data is defined on the Bessel 1841 ellipsoid (semi-major axis 6,377,397.155 m, inverse flattening 299.1528128), not GRS80/WGS84's ellipsoid. If a piece of GIS software lets you pick the ellipsoid independently of the projection, picking anything other than Bessel 1841 for genuine DHDN Gauss-Krüger data will silently shift every coordinate by dozens to hundreds of meters. This is the single most common source of "my Gauss-Krüger import is offset" bug reports.

Why does the false easting start with a digit like 4,500,000 instead of the usual 500,000?

The leading digit is deliberate and encodes the zone number. Gauss-Krüger zone 4 (central meridian 12°E) uses false easting 4,500,000; zone 3 uses 3,500,000; zone 2 uses 2,500,000; zone 5 uses 5,500,000. A surveyor reading a Rechtswert value can tell which zone it belongs to just from its first digit, without needing separate metadata — a genuinely clever piece of 1920s data design that still saves confusion today.

Is a 7-parameter Helmert transformation accurate enough for legal cadastral work?

No, and this tool says so plainly. The Helmert approach used here gets you to roughly 1-3 meters of accuracy, which is fine for visualization, GIS analysis, and most engineering use. Germany's official transformation for legal, cadastral-grade work is the grid-based BeTA2007 (NTv2) transformation published by the BKG, accurate to about 1 meter but requiring a large correction grid file rather than seven constants. If a conversion is going into a legal land-registry document, use the official BKG tool or a GIS package with the BeTA2007 grid loaded.

Why does this tool ask whether my point is in former West or East Germany?

Because DHDN was never one single, uniformly-adjusted network. West Germany and East Germany ran independent geodetic triangulation networks from the end of World War II until reunification in 1990, and each was adjusted separately over more than four decades. The best-fit 7-parameter Helmert set is genuinely different for each half of the country — using the West German parameters on an East German point (or vice versa) introduces an extra few meters of avoidable error on top of the approximation's inherent uncertainty.

My GeoJSON has coordinates like [4593631.75, 5821241.26] — is that longitude/latitude or Gauss-Krüger?

That is almost certainly Gauss-Krüger, not longitude/latitude. WGS84 longitude never exceeds roughly ±180 and latitude never exceeds ±90, so any coordinate pair with values in the hundreds of thousands or millions is a projected coordinate system, not geographic WGS84. The leading digit of the larger number (here, 4) tells you the Gauss-Krüger zone, per the false-easting convention explained above.

Does GeoJSON even support Gauss-Krüger coordinates directly?

Technically no. The GeoJSON specification (RFC 7946) mandates WGS84 longitude/latitude for all coordinates and has no field for specifying a different CRS. In practice, however, a great deal of real-world German GIS data was produced before this rule was widely enforced, or by tools that ignore it, and ships as GeoJSON files carrying raw Gauss-Krüger or UTM values in the coordinates array. This tool exists specifically to fix that mismatch before the file causes problems downstream.

Which UTM zone does Germany actually use — 32N or 33N?

Both, split roughly down the middle of the country. UTM zone 32N (central meridian 9°E) covers western Germany; zone 33N (central meridian 15°E) covers the east. The official EPSG codes are 25832 (ETRS89/UTM 32N) and 25833 (ETRS89/UTM 33N). A location near the zone boundary can technically be expressed in either zone with a small increase in distortion, which is why some German states officially standardized on zone 33N alone for their statewide GIS to avoid split-zone headaches.

Why do my coordinates look almost right after conversion, but off by a few meters?

That gap is very likely the inherent accuracy limit of the 7-parameter Helmert approximation (1-3 m), not a bug in the math. It can also mean the wrong West/East regional parameter set was used, or that the source data was already in ETRS89/UTM rather than true legacy DHDN Gauss-Krüger and got run through the DHDN transformation unnecessarily. Check the source system before assuming the tool is wrong.

Can I convert GeoJSON polygons and lines, or only single points?

Points, LineStrings, Polygons, and their Multi- variants, plus GeometryCollections and FeatureCollections, are all supported — the converter walks every coordinate pair inside any nested geometry structure and transforms each one individually, then reassembles the same structure with the new coordinates.

Is any of my data uploaded to a server when I use this tool?

No. Every calculation, from the Helmert transform to the Gauss-Krüger projection math, runs in your browser in JavaScript. Nothing you paste, upload, or convert is ever sent anywhere. That also means very large GeoJSON files are limited by your own browser's memory, not by any server-side upload limit.

All conversion math runs locally in your browser — coordinates and GeoJSON files are never uploaded to a server. Helmert transformation parameters (EPSG:1777, EPSG:15869) and the DHDN/Bessel 1841 and GRS80 ellipsoid definitions are sourced from the EPSG Geodetic Parameter Dataset via the Bundesamt für Kartographie und Geodäsie (BKG). For legal or cadastral work, use the BKG's official BeTA2007 grid-based transformation instead of this tool's Helmert approximation.

Basemap © OpenStreetMap contributors, drawn with Protomaps (hosted by KONAKTIVE), with CARTO as the fallback.

Muhammad Gulraiz Khan, GIS Expert and Founder of KONAKTIVE and OnlineMapMaker.com

About the Author

Muhammad Gulraiz Khan

GIS Expert & Consultant · Founder, KONAKTIVE

Muhammad Gulraiz Khan is a GIS expert with over a decade of professional experience delivering geospatial solutions for the energy sector, including projects for the World Bank, the International Finance Corporation (IFC), and USAID. He built OnlineMapMaker.com to make professional-grade mapping tools free and accessible to everyone.

Advertisement
Advertisement