What Is SQLite, and Why View It on a Map
SQLite is a small, fast database engine that stores an entire database inside one plain file on disk, instead of running as a separate server program. It is one of the most widely used pieces of software in the world, built into phones, browsers, apps and countless GIS programs. SpatiaLite is a free extension that adds spatial features to that same file format, letting an ordinary SQLite file also store points, lines and polygons the way a full GIS database does. This viewer opens either kind of file directly in your browser and puts the location data inside it onto a real map, without needing a database program or a full desktop GIS installed.
Exporting What You See
Click "Download Table as GeoJSON" to save the currently loaded table, with geometry decoded and reprojected, as a standard GeoJSON file. Style changes such as color only affect the map view, not the exported file. GeoJSON opens without problems in QGIS, ArcGIS, Leaflet, Mapbox GL JS, and practically every modern mapping tool.
Watch: SQLite Viewer in Under a Minute
Prefer to watch instead of read? This short walkthrough covers uploading a SQLite or SpatiaLite file, viewing its data on the map, and exporting the result.
Common Questions
Step by Step









How a SQLite / SpatiaLite File Is Structured
A SQLite file is organized as a set of tables, in the same row-and-column layout as any relational database. Opening a .sqlite or .db file just means reading those tables. A SpatiaLite-enabled file adds a small, standard set of extra tables on top of that same structure, which is what lets this tool, and any other SpatiaLite-aware software, find the map data automatically instead of guessing.
Ordinary Tables
Most plain SQLite files, including a .sqlite or .db export from a survey app, a mobile app, or a script, store data as ordinary tables with typed columns. If a table has columns that look like latitude and longitude, by name or by the range of values in them, this tool detects them automatically and plots each row as a point.
SpatiaLite's Metadata Tables
A SpatiaLite-enabled file adds tables such as geometry_columns, which lists every table that holds geometry along with the name of its geometry column and its coordinate system, and spatial_ref_sys, which stores the definition of each coordinate system referenced, including a ready-to-use proj4 string. Together, these tables let a viewer find every spatial layer in the file without inspecting every table by hand.
Geometry Storage: SpatiaLite BLOBs
Inside a SpatiaLite file, each geometry, a point, a line, or a polygon, is stored as a binary value (a BLOB) in one column. The format starts with a short header carrying the coordinate system and a bounding box for fast filtering, followed by the geometry's type and its coordinates, and ends with a fixed marker byte. This is a compact way to store shapes as raw bytes rather than text. This tool reads that binary format directly in your browser and turns it into the shapes you see on the map.
Changing the Color of Your Data
Three controls in the sidebar let you restyle the whole table instantly, without touching the original file:
- Color: pick any color from the swatches or the color picker. It applies to lines, polygon fills and outlines, and point markers straight away.
- Line Thickness: make outlines and lines thinner or thicker, from a hairline to a bold, poster-ready stroke.
- Fill Opacity: control how solid or see-through polygon fills are, from a light wash to a fully solid color.
Every change applies live to the table already on the map, so you can try a few looks in seconds before deciding on one.
Two Ways to Get Your Data on the Map
Get a database open in the tool with whichever method suits you:
- Upload or drag and drop: Click "Upload" and choose a .sqlite, .sqlite3, or .db file, or drag the file straight onto the map from your file browser.
- Try Sample Data: Click "Sample Data" to build and load a small demo database with a SpatiaLite-style landmarks table and a plain lat/lng sensors table, so you can try clicking, coloring and switching tables right away.
As soon as a file loads, the tool lists every usable table in the sidebar and automatically plots the best match, a SpatiaLite geometry table if one exists, otherwise the first table with recognizable latitude/longitude columns, and zooms the map to fit its data. Click any other table in the list to switch to it instead.
Working With Multiple Tables
A single SQLite or SpatiaLite file often holds more than one table worth mapping, a layer of survey points alongside a layer of site boundaries, for example. The sidebar's Tables list shows every table found in the file, tagged as a SpatiaLite geometry layer, a table with detected latitude/longitude columns, or a table with no location data. Click any tagged table to load it onto the map in place of whatever was showing before.
If a table has no obviously named latitude/longitude columns, a small panel lets you pick the right two columns by hand, the same way as this site's CSV to Map tool, so a table using unusual column names like "y_coord" or "pos_lng" is never left out.
Real-World Use Cases
A SQLite and SpatiaLite viewer earns its place anywhere map data is being collected, shared, or handed off between tools. Here is where it gets used most:
A Short History of SQLite
SQLite was written by D. Richard Hipp in 2000, while working on software for the US Navy. The project needed a database that did not require installing and running a separate database server, so Hipp built a database engine as a small library that reads and writes directly to a single file. That one design choice, no server process, no separate installation, no configuration, is still the reason SQLite is everywhere today.
Because it is public domain and free to embed in any product, SQLite spread quickly into web browsers, mobile operating systems, desktop apps and countless developer tools. Every Android and iOS phone ships with SQLite built in, and it is often called the most widely deployed database engine in the world, with an install base counted in the billions of devices.
SpatiaLite arrived later, created by Alessandro Furieri and first released around 2008. It works as a loadable extension, distributed as libspatialite, that adds spatial SQL functions, R-Tree spatial indexing, and a standard way to store geometry as BLOBs directly into an ordinary SQLite file, in much the same way PostGIS adds spatial features to PostgreSQL. QGIS has supported SpatiaLite as one of its native formats for many years, and it remains a common, lightweight, single-file choice for field data collection and desktop GIS projects that don't need a full database server.
Coordinate Systems and Reprojection
SpatiaLite geometry can be stored in any coordinate system, not only plain latitude and longitude. This tool reads the coordinate system recorded for each geometry table and, when it recognizes it (WGS84 and Web Mercator cover most real files, with other systems handled through the proj4 string stored in spatial_ref_sys where possible), reprojects every shape to ordinary latitude and longitude before drawing it, so the map is correct regardless of how the source file stored its coordinates.
See Every Attribute by Clicking
Click any point, line, or polygon on the map and a popup opens listing every column value stored in that row, names, categories, numbers, dates, anything the table holds except the raw geometry itself. The clicked feature also gets a bright highlight outline, so you always know exactly which shape the popup belongs to, even in a dense or overlapping table.
More Tools You Might Like
Map tiles © OpenStreetMap contributors and Protomaps (hosted by KONAKTIVE), CARTO, Esri (satellite). Database reading powered by sql.js. Map rendering by Leaflet. All file reading and rendering is local, no data is uploaded to any server.
