tuliq
Runs in your browser

GeoJSON / KML / GPX / CSV Viewer

Render GeoJSON, KML, GPX, CSV, WKT, or TopoJSON directly on an interactive map to sanity-check a track, export, or dataset before you trust it. Load one or more files, each in its own color, browse the same data as a table, click any feature for its full details, and export everything combined as GeoJSON, KML, GPX, CSV, or WKT. The map also works as a standalone distance/area calculator — click points directly on it, no file needed at all. Your file is read locally in your browser and never uploaded — only the map's background tile images are fetched over the network.

Format is detected automatically from each file's extension.

Loading map…
Upload a GeoJSON, KML, GPX, or CSV file to see it here

About this tool

This tool renders GeoJSON, KML, GPX, or a plain CSV of coordinates directly on an interactive map, so you can visually confirm a file is correct before importing it into a GPS device, GIS tool, or pipeline that expects it. Upload a GPX track exported from a fitness app or GPS watch, a KML file exported from Google Earth or a GIS tool, a raw GeoJSON file, or a CSV with a latitude/longitude column (survey data, sensor readings, delivery lists), and every point, line, and polygon is drawn in place — each file in its own color when you load more than one, with the map automatically zoomed to fit everything. Click any feature to see every property it carries (not just its name), or switch to the Table tab to browse the whole dataset as rows and columns instead of pins on a map. The map also doubles as a standalone Distance/Area calculator — click "Distance" or "Area" in its top-left corner and start clicking points, no file upload needed at all. When you're done with a file, export everything currently loaded as a single GeoJSON, KML, GPX, or CSV file — useful for converting between formats, or just pulling a clean combined file out of several messier ones. This catches the kind of mistake a text editor can't: a coordinate-order bug (latitude and longitude swapped is the single most common GPS data error), a track that's technically valid but geographically nonsensical, or a KML export that's missing geometry entirely. It runs entirely client-side — your file is read locally in your browser and never uploaded. The one exception, worth being upfront about: the map background itself is fetched as image tiles from OpenStreetMap's servers over the network, since no browser tool can render a world map without loading map imagery from somewhere. Your file's actual contents are never sent anywhere.

Supported formats

  • GeoJSON (.geojson, .json) — A FeatureCollection, a single Feature, or a bare geometry — Point, LineString, Polygon, and their Multi- variants.
  • KML (.kml) — Placemarks containing a Point, LineString, or Polygon, as exported by Google Earth and most GIS tools.
  • GPX (.gpx) — Waypoints (<wpt>), tracks (<trk>), and routes (<rte>), as exported by GPS devices and fitness apps.
  • CSV (.csv) — Any CSV with a latitude and longitude column (lat/latitude, lon/lng/long/longitude — detected automatically regardless of column order) plots one point per row; every other column becomes clickable detail.
  • WKT (.wkt) — Well-Known Text — the plain-text geometry format databases like PostGIS produce, one geometry per line.
  • TopoJSON (.topojson) — The topology-encoded, quantized variant of GeoJSON used by D3.js and Census/data-journalism exports.

What you can do

  • Render points, lines, and polygons from GeoJSON, KML, GPX, or a lat/lon CSV
  • Load multiple files at once, each in its own color
  • Browse every feature in a table, not just on the map
  • Click any point or shape to see every property it carries, not just its name
  • Measure distance or area by clicking points on the map — no file needed at all
  • Export everything you loaded as GeoJSON, KML, GPX, or CSV
  • Your file is never uploaded — it's read and rendered locally

How to use

Step 1

Upload a file

Add one or more .geojson, .kml, .gpx, or .csv files — the format is detected automatically.

Step 2

It renders instantly

Points, tracks, and shapes are drawn on the map and zoomed to fit everything you loaded.

Step 3

Inspect it

Click any feature for its full details, or switch to the Table tab to browse every row at once.

Step 4

Export if you need to

Combine everything you loaded into a single GeoJSON, KML, GPX, or CSV file with one click.

Example

A GPX waypoint like this one:

GPX waypoint

<wpt lat="12.9716" lon="77.5946">
  <name>Office</name>
</wpt>

places a labeled point at 12.9716°N, 77.5946°E — exactly what this tool draws on the map for you, instead of you plotting coordinates by hand to check a file looks right.

How your data is handled

This tool is labeled 🟢 Browser: your file is read directly using your browser's File API and rendered on-page. It's never uploaded to a server, and the moment you close the tab, it's gone. The map background is the one exception on this tool: rendering it requires fetching tile images from OpenStreetMap's servers over the network — your file's coordinates and content are not part of those requests, only the visible map area.

Frequently asked questions

Why does it say my file is invalid?+

Check the file extension matches its actual content — a renamed file (e.g. a .json file that's really KML) will be detected as the wrong format. Otherwise, the error message names exactly what's missing, e.g. a missing <Placemark> or a malformed coordinates block.

My points look like they're in the ocean or the wrong continent — what's wrong?+

The most common cause is a swapped latitude/longitude — GeoJSON stores coordinates as [longitude, latitude], while GPX and KML often get entered by hand as latitude first. Double-check the source file's coordinate order.

Can I upload multiple files at once?+

Yes — each file renders in its own color so you can compare tracks or datasets side by side on the same map.

Does it support KML Folders or MultiGeometry?+

Not yet — it reads each <Placemark>'s own Point, LineString, or Polygon geometry directly. Nested folders and grouped MultiGeometry placemarks aren't parsed.

Why isn't my CSV showing any points?+

It looks for a header named "lat"/"latitude" and "lon"/"lng"/"long"/"longitude" — column order doesn't matter, but the header names do. If your columns are named something else (e.g. "Y"/"X"), two dropdowns appear listing every column in your file so you can pick the right ones manually. Rows with a non-numeric or out-of-range value are skipped rather than shown incorrectly.

Is my file uploaded anywhere?+

No — it's read directly in your browser using the File API and never leaves your device. The only network activity is fetching the map's background tile images from OpenStreetMap, which never see your file's contents.

Can I see my data as a table instead of pins on a map?+

Yes — the Table tab lists every feature as a row, with a column for every property found across your loaded files. Large datasets are paginated (100 rows at a time) so the browser stays responsive.

Can I convert between formats with this tool?+

Yes — load your file(s) in one format, then use the Export dropdown to download everything currently loaded as GeoJSON, KML, GPX, CSV, or WKT. A feature that can't be represented in the target format (e.g. a Polygon exported as GPX, which has no polygon concept) is left out and you're told exactly how many before the download starts.

Can I export as TopoJSON, or view a Shapefile?+

TopoJSON can be viewed but not exported — building valid topology from arbitrary features is a much harder problem than decoding it, so that direction isn't supported. Shapefiles (.zip bundles) aren't supported in this tool yet, but you can convert one to GeoJSON/KML/GPX/CSV/WKT first using the Geo Format Converter, then view the result here.

How does the distance/area calculator work?+

Click "Distance" or "Area" in the top-left of the map, then click points directly on the map to build a line or polygon — the result updates live as you add points. It works with or without a file loaded, and "Clear" resets it so you can measure something else. Distances use the great-circle (haversine) formula and areas use a standard geodesic approximation, both accounting for Earth's curvature rather than treating the map as flat.

Related tools