# RavingDesk GeoJSON Validator & Inspector > Validate and repair GeoJSON (RFC 7946) and measure areas and lengths on WGS84. Checks a GeoJSON file against RFC 7946 with a plain-language problem list (open rings, wrong winding order, swapped longitude/latitude, out-of-range positions, obsolete crs, antimeridian edges), repairs what can be repaired without guessing, and reports geodesic polygon areas, perimeters and line lengths on the WGS84 ellipsoid, the bounding box (antimeridian-aware), centroids, which polygons contain a test point, and an optional geodesic buffer around points and lines. It is the GeoJSON engine of RavingDesk’s Data & charts. Part of usefulweb.app (https://usefulweb.app/). Part of [RavingDesk](https://ravingdesk.usefulweb.app/) (ownerApp: ravingdesk). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://ravingdeskgeojsoninspector.usefulweb.app/ (interactive tool at https://ravingdeskgeojsoninspector.usefulweb.app/tool) - JSON API: POST https://ravingdeskgeojsoninspector.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://ravingdeskgeojsoninspector.usefulweb.app/api/v1/tool) - OpenAPI: https://ravingdeskgeojsoninspector.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://ravingdeskgeojsoninspector.usefulweb.app/mcp - tool `ravingdesk_geojson_inspector` ## Inputs - geojson (textarea, required): GeoJSON - A FeatureCollection, a Feature or a bare geometry (up to 5 MB, 200,000 positions). - repair (boolean): Repair what can be repaired (close rings, fix winding, remove repeated positions) - decimals (integer): Round coordinates to decimals (optional) - 6 decimals ≈ 0.1 m, 7 ≈ 1 cm. Leave empty to keep them. - testPoint (text): Test point (optional) - Latitude/longitude in any notation; the tool lists the polygons that contain it. - bufferM (number): Buffer distance (optional) - Adds approximate geodesic buffer polygons around every point and line. ## Method - Validation follows RFC 7946: object structure, positions of 2–3 numbers within ±180° longitude and ±90° latitude, lines with ≥ 2 positions, closed rings with ≥ 4 positions, Feature members “geometry” and “properties”, bbox shape. The right-hand rule (counter-clockwise outer rings, clockwise holes) is reported as a warning, as the RFC tells parsers not to reject such files. - Ring orientation and areas use geodesic polygons on WGS84 (Karney 2013): edges are geodesics, so areas are exact for the polygon with geodesic edges. Holes are subtracted. Line lengths are geodesic too. - Point-in-polygon tests treat edges as straight lines in longitude/latitude (the usual GIS convention for GeoJSON) with the even–odd rule, holes respected; edges that jump more than 180° are read as crossing the antimeridian. - The bounding box is the smallest longitude interval around all positions, so it may cross the antimeridian (west > east, RFC 7946 §5.2). The centre is the normalised 3D mean of the positions; the area centroid is area-weighted in degrees. - Buffers: points get a geodesic circle of 64 vertices; lines get offset vertices at the buffer distance with round joins and caps. They are approximations (the line outline can self-intersect at sharp inner bends) and polygons are not buffered.