Free tool

EUDR GeoJSON checker

Before you upload your plots to the EU system, drop the file here. You see, plot by plot, what will be rejected and why. The file never leaves your computer.

EUDR in one minute

Europe no longer wants products that cost a forest.

So if you sell cocoa, coffee, palm oil, soy, rubber, cattle or wood in the EU, you must show where it grew. And prove that the land was not deforested after 31 December 2020.

It starts on 30 December 2026 for large and medium companies, and on 30 June 2027 for small and micro ones.

The proof starts with a map

Every farm that grew your goods must be located. A point on the map, or the outline of the field.

These locations go into one file, a GeoJSON. You upload it to the EU Information System with your due diligence statement. If the file breaks a rule, the system refuses it.

The 4 hectare rule

  • 4 hectares or less: one point is enough. Example: a 2.5 ha cocoa farm is one pair of coordinates.
  • More than 4 hectares: you must draw the field. A polygon that follows its border.

4 hectares is about 6 football pitches.

Five traps we see all the time

1. Latitude and longitude swapped. GeoJSON wants longitude first. Swap them and your farm in Côte d'Ivoire lands in the sea. The map above shows it at once.

2. Not enough decimals. The regulation asks for 6. Six decimals is 11 centimetres. Four decimals is 11 metres: you may be pointing at the neighbour's field.

3. “Area” written as text. "Area": 3 is read as 3 hectares. "Area": "3", with quotes, is read as 0.

4. Capital letters. The system reads ProductionPlace. It rejects productionplace. Same word, one capital letter.

5. A field with a hole. A plot drawn around a pond or a house is a doughnut. The system rejects doughnuts. Draw two pieces instead.

What this checker looks at

  • The file is real GeoJSON, under 25 MB.
  • Each plot is a Point, MultiPoint, Polygon or MultiPolygon. Lines are refused.
  • Coordinates are in range, longitude first, with 6 decimals.
  • Each polygon has at least 4 points, is closed, has no hole and does not cross itself.
  • No point becomes a duplicate once cut to 6 decimals.
  • A point declared above 4 hectares is flagged: it should be a polygon.
  • The property names are spelled exactly: ProducerName, ProducerCountry, ProductionPlace, Area.

What it does not check

Whether the forest is still there. That needs satellite images and deforestation alerts, plot by plot. In Apollo, each plot is screened against Global Forest Watch and other sources, and each alert is checked by a person. Read how we verify every alert.

Only a GeoJSON is read here. A Shapefile, a KML or an Excel list must be converted first, for example with the free mapshaper.org or QGIS.

Frequently asked questions

When does a plot need a polygon instead of a point?

Above 4 hectares. A plot of 4 hectares or less can be a single point. A bigger plot must be drawn as a polygon that follows its border. Cattle is the exception: farms are given as points.

How many decimals do EUDR coordinates need?

At least 6 decimals, as the regulation asks. Six decimals is about 11 centimetres on the ground. Four decimals is about 11 metres. The EU system keeps 6 decimals and cuts the rest.

Which coordinate comes first in a GeoJSON file?

Longitude, then latitude. Most people write latitude first because that is how maps and phones show it. In GeoJSON it is the other way round.

What is the file size limit in the EU Information System?

25 MB per due diligence statement, counting all the GeoJSON files uploaded with it. Drawing straight edges with two points and giving small plots as points keeps files small.

Is my file sent to Apollo Negoce?

No. The file is read by your own browser. Nothing is uploaded or stored. Only the map tiles come from OpenStreetMap.

Does this tool check deforestation?

No. It checks that the file is accepted by the EU system. Checking that a plot was not deforested after 31 December 2020 needs satellite data. Apollo does it for its clients.

Sources

Rules checked on 29 October 2026. The Commission's own documentation is the reference if it changes.