GeoJSON and KML Polygon Intersection Tool
Need to find the overlap between two polygons? This free browser-based polygon intersection tool lets you upload or paste GeoJSON and KML files, then instantly compute the intersection and the difference in both directions, right on an interactive map. No GIS software, no account, no data leaves your browser.
Polygon Intersection and Difference Tool
Load two polygon layers below and use the operation buttons to find where they overlap or diverge.
How to Use This Tool
Loading Your Polygons
Each panel accepts a polygon in two ways. Click Upload GeoJSON / KML to load a file directly from your computer, or paste raw GeoJSON into the text area and click Load. Both panels support:
- GeoJSON (.geojson or .json) – Polygon, MultiPolygon, Feature, or FeatureCollection
- KML (.kml) – exported from Google Earth, Google My Maps, QGIS, or any GIS application
Once loaded, each polygon appears on the map in its assigned colour: blue for Polygon A, amber for Polygon B.
Running the Operations
Click Run All to compute all three operations at once, or use the individual buttons:
- Intersection (green) – the area shared by both polygons
- A minus B (purple) – parts of Polygon A that fall outside Polygon B
- B minus A (red) – parts of Polygon B that fall outside Polygon A
Each result shows the computed area in square metres or square kilometres. Toggle layers on and off using the checkboxes in the results bar.
Downloading Results
Click Save next to any result layer to download it as a GeoJSON file. You can also download your original input polygons using the Save A and Save B buttons. All outputs are in WGS84 (EPSG:4326).
When Is a Polygon Intersection Tool Useful?
Comparing polygon boundaries is a routine task across many fields. Some common use cases:
- Land and property – checking whether a development area overlaps a protected zone, flood risk area, or planning boundary
- Environmental analysis – finding where a habitat polygon intersects a proposed infrastructure corridor
- Logistics and operations – identifying overlap between delivery zones, service areas, or coverage polygons
- Research and fieldwork – comparing study site boundaries from different sources
- Data quality checks – verifying that administrative boundaries from two datasets align correctly
Traditionally this kind of analysis requires desktop GIS software such as QGIS or ArcGIS. This tool performs the same geometric operations in the browser using Turf.js, a widely used JavaScript geospatial library, so there is no software to install and no file upload to a server.
Supported File Formats
GeoJSON
GeoJSON is the most common format for sharing vector geometry on the web. You can export GeoJSON from QGIS, ArcGIS Pro, Mapbox, Felt, overpass-turbo, and most modern web mapping tools. The tool accepts Polygon and MultiPolygon geometries, either as a raw geometry object, a Feature, or a FeatureCollection.
KML
KML (Keyhole Markup Language) is the native format for Google Earth and Google My Maps. If you have polygon boundaries saved in Google My Maps or exported from Google Earth, you can upload the .kml file directly. The tool converts it to GeoJSON automatically before running the analysis.
How the Geometry Operations Work
This tool uses three functions from the Turf.js library:
- turf.intersect(A, B) – returns the polygon representing the area covered by both A and B. Returns null if the polygons do not overlap.
- turf.difference(A, B) – returns the parts of A that are not covered by B. Equivalent to subtracting B from A.
- turf.difference(B, A) – returns the parts of B that are not covered by A.
All calculations are performed client-side in your browser. No geometry data is sent to any server.
Frequently Asked Questions
Can I use KML exported from Google Earth?
Yes. Click Upload GeoJSON / KML and select your .kml file. The tool reads the polygon geometry and converts it to GeoJSON automatically. If your KML contains multiple polygon features they will be merged into a single MultiPolygon before analysis.
What if the polygons do not overlap?
If the two polygons have no area in common, the Intersection result will be empty and the tool will display a message confirming there is no overlap. The A minus B and B minus A results will each return the full original polygon.
Can I upload a MultiPolygon?
Yes. The tool accepts Polygon and MultiPolygon geometries in both GeoJSON and KML format.
Is my data kept private?
All processing happens in your browser. Your polygon data is never uploaded to any server. Closing the tab clears everything.
What coordinate system does the tool use?
The tool expects and outputs WGS84 (longitude/latitude, EPSG:4326), which is the standard for GeoJSON and the default for KML. If your data is in a projected coordinate system, reproject it to WGS84 first using QGIS or a tool like the MapScaping geometry converter.
Can I intersect more than two polygons?
Not directly in this tool, which is designed for pairwise comparison. For multi-layer intersection you would need a desktop GIS environment such as QGIS.
How accurate are the area calculations?
Areas are calculated by Turf.js using an ellipsoidal model (the WGS84 ellipsoid) and are accurate to within a small fraction of a percent for typical polygon sizes. For very large polygons spanning multiple degrees of latitude the results remain a reliable approximation.




























