GIS Tools

Language

Made withfor the GIS community

GeoJSON, KML, Shapefile & GIS File Viewer

Drag-and-drop loader for GeoJSON, KML, GPX, CSV, Shapefile, and GeoTIFF files

Import & Export

Drop files here or click to browse

Supported formats: GeoJSON, KML, GPX, CSV, Shapefile

GeoJSON
KML
GPX
CSV
Shapefile

What Is a GIS File Loader?

A GIS file loader is the entry point of every geospatial workflow: a single utility that can read the dozens of file formats analysts encounter in the wild and turn them into a common, viewable representation. Instead of installing a different parser for every extension, you drag a file in and the loader figures out what it is, what coordinate system it uses, and how to render it on a map.

The GeoJSON, KML, Shapefile & GIS File Viewer on gis.tools is built around that drag-and-drop ideal. It accepts the major vector formats β€” GeoJSON, KML and KMZ, GPX, CSV with lat/lon columns, ESRI Shapefile bundles (.shp + .dbf + .shx + .prj), and even GeoTIFF rasters β€” and previews them in your browser without uploading anything to a server. Whether you have a single .geojson file from an open-data portal or a zipped shapefile from a county GIS department, the loader recognises the format from the file signature and takes it from there.

Loading is the most underrated step in GIS. A file that fails to open silently, parses with the wrong CRS, or drops half its features because of an encoding issue can derail an entire analysis. A reliable loader normalises all of those quirks up front so the rest of your workflow can assume the data is clean.

How the Loader Detects and Parses Formats

The loader inspects the file's MIME type, extension, and binary header (the magic bytes) to choose a parser. GeoJSON is detected by JSON structure and the presence of a top-level type field. KML is XML with a specific namespace. Shapefiles arrive as a ZIP containing several sibling files which the loader unpacks in memory. GeoTIFFs start with the TIFF magic bytes 0x4949 or 0x4D4D followed by a version number.

Once the format is identified, the loader hands the bytes to a format-specific parser. Vector formats are converted to an in-memory GeoJSON FeatureCollection β€” the lingua franca of modern web GIS. Rasters are decoded into typed arrays and rendered to a canvas. The CRS is parsed from .prj files (for shapefiles), GeoTIFF GeoKeys, KML's implicit WGS84, or the GeoJSON CRS member if present.

Format Auto-Detection

Many files have ambiguous extensions or none at all. The loader uses content sniffing as a fallback so a .txt file containing GeoJSON, or a .zip without a clear name, still gets recognised. This matters when you receive data from a colleague who renamed it or when a download stripped the extension.

Supported Formats in Detail

The loader handles GeoJSON FeatureCollections of any geometry type (Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection). KML support covers Placemarks, MultiGeometry, Folders, NetworkLinks (resolved client-side where CORS permits), and styles. KMZ files are unzipped and the doc.kml is loaded. GPX is parsed for waypoints, tracks, and routes. CSVs are previewed as a table first so you can pick which columns hold the latitude and longitude. Shapefiles are read with the .dbf attribute table joined to the geometry. GeoTIFFs are decoded with bounding box and overview support.

Practical Applications

Open Data Exploration

City and federal open-data portals publish boundary files, road networks, parcel data, and environmental layers in a bewildering mix of formats. The loader lets a planner inspect a county parcel shapefile in seconds without spinning up QGIS, then immediately export it to a friendlier format for downstream tools.

Field Data Review

Surveyors, ecologists, and utility crews collect data with handheld GPS units, mobile mapping apps, and drones. Those devices export GPX, KML, GeoJSON, or proprietary formats. The loader provides a quick QA station where field staff can verify a day's work back at the office before importing it into the system of record.

Data Format Negotiation

Vendors and clients exchange spatial data in whatever format is convenient for them. The loader bridges the gap by showing what's inside a file before you commit to a conversion pipeline. If a contractor sends you a 50 MB shapefile, you can preview it, check the attributes, and decide whether to convert it to GeoJSON for the web team or hand it to the analytics team as-is.

Teaching and Training

GIS instructors need a tool students can use without administrator rights or licence keys. The browser-based loader works on Chromebooks, locked-down lab machines, and personal laptops alike, lowering the barrier for introductory GIS courses and short workshops.

Disaster Response

When emergency operations centres receive incident data from multiple agencies, formats clash. A loader that opens all of them on the spot saves precious minutes during a flood, wildfire, or hurricane response.

Real Estate and Site Selection

Brokers and site selectors often receive parcel data, zoning overlays, and market boundaries in mixed formats. Loading them in one place to do a quick visual sanity check before commissioning a deeper analysis is a daily routine.

Step-by-Step Workflow in gis.tools

  1. Open the loader page in your browser.
  2. Drag a file (or a folder of related files for shapefiles) onto the drop zone, or use the file picker.
  3. Watch the loader auto-detect the format and parse the contents.
  4. For CSVs, confirm which columns contain latitude and longitude.
  5. Review the layer in the map preview, panned and zoomed to its extent.
  6. Open the attribute table to inspect properties and feature counts.
  7. From here, send the data to other gis.tools utilities for conversion, validation, or analysis.

Worked Example

Imagine a freelance cartographer who receives a .zip file labelled watersheds_2024.zip from a state environmental agency. They drop it on the loader and it identifies a shapefile bundle containing 1,423 polygons with 17 attribute columns and a .prj file declaring NAD83 / UTM Zone 17N. The map preview centres on Florida. The attribute table shows columns for HUC10 codes, names, areas, and stream miles.

The cartographer notices that one polygon appears to extend off the coast β€” a clue that the dataset includes a buffer over open water. They click that feature, copy its HUC10 code, and decide to use the GIS Clip Tool (Clip Layer by Polygon) to crop it to the state boundary later. They then use the loader's hand-off to send the layer to the Shapefile Viewer & Converter (to GeoJSON) for export to a web-friendly format.

Common Pitfalls and Gotchas

  • A shapefile is not one file but a bundle. Uploading just the .shp without the .dbf, .shx, and .prj will produce geometry without attributes or CRS context.
  • KML can reference external files (icons, NetworkLinks, ground overlays) that may not load due to CORS restrictions when run in a browser.
  • CSV files with locale-formatted numbers (commas as decimal separators) confuse parsers expecting English conventions.
  • Files saved as UTF-8 with BOM, Latin-1, or Windows-1252 encodings can produce mojibake in attribute fields if the loader guesses wrong.
  • Very large files may hit browser memory limits, especially when loading multiple GeoTIFFs or millions of vertices.
  • Mixed-geometry GeoJSON can be valid but trip up downstream tools that expect a single geometry type.
  • A file without a CRS is assumed to be WGS84, which is wrong about half the time for shapefiles from US sources.

Tips for Best Results

  • Always upload the full shapefile bundle (zip it first to keep the parts together).
  • Use a GeoJSON Validator & Fixer pass on suspicious GeoJSON before loading it into other workflows.
  • If your CSV has thousands of points, consider a GeoJSON Simplifier afterward to reduce overhead.
  • Check the CRS Metadata Inspector to confirm the loader picked the right projection.
  • For GeoTIFFs larger than a few hundred megabytes, prefer Cloud Optimized GeoTIFF (COG) format so the loader can stream tiles rather than decoding the whole image.
  • Keep field names ASCII when possible; non-ASCII column headers in older shapefiles can become unreadable after a charset mismatch.

Comparison with Other GIS Approaches

Desktop GIS like QGIS and ArcGIS Pro have richer format support and can handle larger files, but they require installation, have steep learning curves, and may not be available on every machine. Command-line tools like GDAL/OGR are powerful but unforgiving for non-developers. Cloud GIS platforms can ingest huge datasets but require account creation, file uploads, and often paid quotas. The browser-based loader sits in the sweet spot for quick inspection, format conversion, and teaching, where convenience and privacy matter more than processing terabytes.

Performance Considerations

In-browser parsing is bounded by JavaScript memory (roughly 1–2 GB on a modern desktop browser, less on mobile) and CPU (a single thread unless the parser uses Web Workers). GeoJSON files in the tens of megabytes load quickly. Shapefiles up to a few hundred megabytes are usually fine. GeoTIFFs are best previewed at lower resolution; full-resolution decoding of multi-gigabyte rasters is impractical without tile streaming.

Data Privacy and Browser-Based Processing

Every file you drop into the loader stays on your device. Nothing is uploaded, no telemetry is collected, and the analysis runs entirely in your browser. That makes the tool safe for sensitive data β€” utility infrastructure, parcel ownership, health records β€” that you would never put on a public conversion website.

Related GIS Concepts

Format Drivers β€” In GDAL/OGR, every format is handled by a driver that knows how to read or write that format's quirks. The loader is conceptually a collection of drivers compiled to JavaScript.

Magic Numbers β€” Short byte sequences at the start of a file that uniquely identify its format. Most parsers use them as a first-pass filter before reading deeper.

MIME Types β€” Standard labels for file content used by web browsers. The loader honours them when present but doesn't trust them blindly.

Frequently Asked Questions

Can I open a 1 GB shapefile in the browser?

It depends on your machine. Modern desktops with 16+ GB of RAM can usually handle a few hundred megabytes; beyond that, you'll see slowdowns or crashes. For very large files, consider preprocessing with GeoJSON Simplifier or Coordinate Precision Reducer first.

Why does my KML look distorted on the preview?

KML is always WGS84 by definition. If features look distorted, the issue is usually with the source coordinates, not the loader.

Does the loader support GeoPackage (.gpkg)?

Some browsers can open GeoPackage with the right WebAssembly libraries, but support is more limited than for GeoJSON or shapefile. Convert with QGIS or ogr2ogr if you hit issues.

Can I load a file from a URL instead of disk?

If your browser allows cross-origin fetches and the server sends correct CORS headers, yes. Otherwise, download the file first and drop it in.

Related Tools on gis.tools

100% client-side processing - your data stays private and never leaves your device