A swapped latitude and longitude only breaks an EUDR file when the swap pushes a number out of its legal range — and that happens only when the longitude is more than 90 degrees east or west. Below that, both numbers are still legal after the swap, every automated check passes, and the file quietly describes a different piece of land.
That threshold is the whole story, and it falls in an awkward place. West Africa, Central Africa, East Africa and all of Latin America sit inside 90 degrees of the prime meridian. So for cocoa from Côte d’Ivoire, coffee from Ethiopia, soy from Brazil or cattle from Paraguay, a swap is invisible to software. For palm oil from Indonesia or Malaysia, which sit beyond 90 degrees east, it gets caught immediately.
Same mistake. Opposite outcome. Nothing about your process changed.
The short answer
- GeoJSON writes a position as longitude first, then latitude. IETF RFC 7946 §3.1.1 puts it plainly: “The first two elements are longitude and latitude, or easting and northing, precisely in that order and using decimal numbers.” That is the reverse of how people say it out loud, and the reverse of how most phone GPS apps display it.
- The European Commission’s EUDR GeoJSON File Description v1.5, linked from the EUDR Information System page, requires WGS 84 (EPSG:4326) decimal degrees — the same coordinate system RFC 7946 §4 fixes for all GeoJSON.
- Longitude runs from −180 to 180. Latitude runs from −90 to 90. A swap is only detectable by range when it puts a longitude value greater than 90 into the latitude slot.
- Nothing else in the file gives the swap away. The shape is still a valid polygon, the ring still closes, the area is still positive.
- The only reliable way to catch the invisible half is to look at every plot on a map and cross-check the production country you declared.
Why do latitude and longitude get swapped at all?
Because two conventions disagree, and both of them are correct in their own world.
People say “latitude, longitude”. Google Maps shows you 6.812345, -5.279876 in that order when you drop a pin. Land registries, farm records and the spreadsheet a field team hands you almost always have a Latitude column sitting to the left of a Longitude column.
GeoJSON does the opposite. RFC 7946 §3.1.1 fixes the order as longitude first: “The first two elements are longitude and latitude, or easting and northing, precisely in that order and using decimal numbers.” It is a mathematical convention — x before y — and it is not negotiable in the file format.
So the swap is almost never a typo. It is a conversion. Someone read two columns left to right and wrote them into a coordinate array left to right, and the two orders quietly disagreed. That is why it tends to hit every plot in the file at once rather than one or two — which is a useful diagnostic in itself. A single wrong plot is usually a data-entry slip. All 400 wrong the same way is a column-order problem in whatever produced the file.
When does a validator catch it, and when does it not?
The check is a range check, and a range check can only see a number that has left its range.
| Where the plot is | Longitude | After the swap | Caught? |
|---|---|---|---|
| Sumatra, Indonesia | 101.4° E | Latitude 101.4 — beyond ±90 | Yes — blocking error |
| Selangor, Malaysia | 101.6° E | Latitude 101.6 — beyond ±90 | Yes — blocking error |
| Southern Côte d’Ivoire | 4.0° W | Latitude −4.0 — legal | No |
| Near Manaus, Brazil | 60.0° W | Latitude −60.0 — legal | No |
| Central Ethiopia | 38.0° E | Latitude 38.0 — legal | No |
Clearlane’s validator carries that rule as a blocking error, citing the File Description v1.5 requirement for WGS 84 decimal degrees, with the message that coordinates must be longitude between −180 and 180 and latitude between −90 and 90, and that swapped axes are the most common cause.
Work through the third row and you can see how little help the file gives you. A plot in southern Côte d’Ivoire near the coast might sit at 5.348° N, 4.027° W — written correctly as [-4.027, 5.348]. Swap it and you get [5.348, -4.027]: 5.348° east, 4.027° south. Both numbers are legal. The point is now in open water in the Atlantic. Nothing in the file objects, because nothing in the file knows where cocoa grows.
The Brazil row is worse, because the result is not obviously absurd. A plot near Manaus at 3.1° S, 60.0° W is [-60.0, -3.1]. Swapped, it becomes 60° south, 3.1° west — a legal position in the Southern Ocean. It will pass a range check, a ring-closure check, a self-intersection check and an area check, all of them, every time.
If you want to see which of your plots actually land where you think they do, Clearlane’s free EUDR GeoJSON validator runs the format and data-quality checks in your browser — the file never leaves it — and draws every supported plot on a map. It is free and takes about a minute, and the map is the part that catches this one.
What does the EUDR itself require here?
The Regulation asks for coordinates, and it asks for them precisely.
Regulation (EU) 2023/1115 (EUDR) Article 2(28) defines geolocation as “the geographical location of a plot of land described by means of latitude and longitude coordinates corresponding to at least one latitude and one longitude point and using at least six decimal digits; for plots of land of more than four hectares used for the production of the relevant commodities other than cattle, this shall be provided using polygons with sufficient latitude and longitude points to describe the perimeter of each plot of land”.
Article 9(1)(d) is the information duty that carries it: the geolocation of all plots of land where the relevant commodities were produced, along with the date or time range of production. For products containing cattle, that same provision points the geolocation at all the establishments where the cattle were kept.
Notice the mismatch in scale. The Regulation asks for at least six decimal digits — a demand for precision far below the width of a field. A swapped pair moves the plot by whole degrees. You can satisfy the precision requirement perfectly and still be describing the wrong continent, and the file format has no way to tell the difference.
One more number worth holding on to, because it decides which errors you will even see: under that same Article 2(28) definition, a non-cattle plot larger than four hectares needs a polygon describing its perimeter, while four hectares or less may be a single point. A polygon that has been swapped still looks like a plausible field — it is the same shape, mirrored about the diagonal. It does not fall apart in a way anyone would notice at a glance.
Why won’t a tool just swap them back for you?
Because the numbers alone cannot tell you what was intended, and guessing wrong is worse than stopping.
Clearlane’s validation engine will offer the swap, but only under a narrow condition: every out-of-range position in that feature has to become valid when swapped, and every position that was already in range has to stay valid when swapped too. If both hold, the swap is a plausible reading of the file and the tool offers it as a fix.
It offers it. It does not apply it. The fix is marked as a heuristic — a likely explanation rather than a certain one — and heuristic repairs are off by default, surfaced to you instead of run behind your back. You ask for it, and you look at the result.
That distinction matters more than it sounds. Some repairs cannot change what you are declaring: closing an open ring adds back a coordinate pair that was already implied, and correcting winding direction traverses the same ring the other way. Neither moves a vertex. A swap moves every vertex, to a different place on Earth. It belongs in the second category, with the repairs that are your decision — and it is the only one of them where a wrong answer still produces a perfectly clean file.
How do you catch the half that nothing flags?
Five checks, roughly in order of how much they cost you.
Look at the map — every plot, not a sample. This is the one that actually works, and it is the reason a validator that only prints a list of errors is not enough. A swapped file draws plots in the ocean, in the wrong hemisphere, or scattered across a country nobody in your supply chain operates in. You will know within seconds.
Cross-check the production country. For a Type II file, the File Description v1.5 requires every production place to carry ProducerCountry as a valid ISO 3166-1 alpha-2 code. That declared code is an independent statement of where the plot is, written by a human rather than derived from the coordinates. If the coordinates plot outside the country you declared, one of the two is wrong, and this is the cheapest contradiction in the whole file to spot.
Check the signs before the digits. Latitude is positive north of the equator, negative south. Longitude is positive east of the prime meridian, negative west. Most of the world’s cocoa, coffee and rubber grows north of the equator and west of the prime meridian — positive latitude, negative longitude. A file full of the reverse pattern deserves a second look before you check anything else.
Compare the area to what the grower says. Clearlane raises a warning when a declared Area property diverges substantially from the area measured from the polygon geometry. A swap mirrors the shape about the diagonal, which usually changes the enclosed area, so a cluster of area warnings across many plots at once is a hint worth following even though it is not proof.
Fix it at the source, not in the file. If the cause is a column-order mistake in an export, correcting the export and re-exporting fixes every plot at once and leaves an explainable trail. Hand-editing coordinates in a text file fixes the ones you noticed.
Does a swapped coordinate matter beyond a wrong dot on a map?
It does, because the coordinates feed the assessment you are required to carry out.
Article 10(1) of Regulation (EU) 2023/1115 (EUDR) requires operators to “verify and analyse the information collected in accordance with Article 9 and any other relevant documentation” and, on that basis, to carry out a risk assessment. The geolocation is part of that information. A risk assessment built on a plot that is not where you think it is has been built on the wrong input, however carefully the rest of it was done.
The country of production is where this bites hardest. Article 10(2)(a) lists “the assignment of risk to the relevant country of production or parts thereof in accordance with Article 29” as an assessment criterion, and that assignment is set by Commission Implementing Regulation (EU) 2025/1093, which classifies countries as low or high risk; every country not listed in its Annex remains standard risk. Coordinates that land in a different country point at a different classification than the one your assessment used.
There is also a practical consequence at the point of filing. The Commission’s EUDR Operator API Reference v1.0 for API V3 processes coordinates to six decimal places under business rule GEO-CORD-10, and the assembled declaration’s geolocation data is capped at 25 MB. Neither of those limits examines whether a coordinate is in the right order. Getting through a filing pipeline is not evidence that the geometry describes your supply chain.
What does passing the coordinate checks actually prove?
Less than it feels like, and this is worth being blunt about.
Passing means your coordinates are numerically well-formed: in range, in the right order as far as anything automatic can tell, in WGS 84, and precise enough. That is a format and data-quality result. It is not a finding that the Information System accepted a declaration, that the goods are deforestation-free, that the commodity was legally produced, or that the boundary matches the land your supplier actually farms.
For this particular error the gap is unusually wide. A swapped file can pass every check in the list and still be a description of open ocean. No format validator anywhere can close that gap, because the file contains nothing to check the coordinates against. Only a map and your own knowledge of your supply chain can.
What Clearlane does here
Clearlane prepares and validates the work behind an EUDR due diligence statement, and then hands it off. It runs versioned, deterministic checks that cite the rule they came from, applies meaning-preserving repairs automatically, offers the axis swap as a flagged heuristic you choose rather than something applied quietly, and draws every plot on a map so you can see where the file says your land is.
What it does not do: Clearlane does not submit a declaration to the EUDR Information System, does not issue an official reference number, and does not certify that goods are deforestation-free. Risk assessment, risk mitigation and the statement itself stay with you as the operator.
Start with the file you already have: check your GeoJSON against the format rules. It is free, it runs in your browser, and it will plot every supported production place on a map next to its findings — which is the only way this particular error ever shows itself. If you want the full list of blocking checks and what each one means, the EUDR GeoJSON validation errors guide covers all of them, and the rule page for the coordinate range check shows the engine’s own message and citation.
This article is educational guidance. It is not legal advice, an Information System filing, or a compliance verdict.
