OnlineMapMaker logo

SQLite Viewer — View SQLite and SpatiaLite Data on a Map

Upload a .sqlite, .sqlite3 or .db file, SpatiaLite databases included, and see every table plotted on an interactive map right away. Click any point, line or polygon to read its attributes, change the color, and download the result as GeoJSON, fast, in your browser, with no extra program needed. Open in full screen ↗

Rate this tool:
Advertisement
Advertisement
Loading map…
Need assistance with your GIS project?Explore Our Services

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

Does this tool support plain .sqlite and .db files, not just SpatiaLite databases?
Yes. If a table has columns that look like latitude and longitude, by name or by their value range, the tool plots it as points automatically, or lets you pick the right columns by hand if the names are unusual.
Does the tool support lines and polygons, or only points?
Both. SpatiaLite geometry tables can hold points, lines, polygons, and their Multi- versions, and this tool decodes and displays all of them. Plain lat/lng tables, without a dedicated geometry column, are always shown as points, since a single pair of coordinates can only describe a location.
How big a file can I load?
Files up to 80 MB are accepted, and up to 5,000 rows are read per table. If a table has more rows, the tool tells you how many were shown and how many were left out.
Can I try the tool without uploading my own file?
Yes. Click "Sample Data" to build and load a small demo database on the spot, with one SpatiaLite-style table and one plain latitude/longitude table, so you can see how table switching, popups and coloring work before uploading anything of your own.
What coordinate systems are supported?
WGS84 (plain latitude/longitude) and Web Mercator are handled directly. For other coordinate systems, the tool reads the proj4 definition stored inside the file's spatial_ref_sys table and reprojects to WGS84 where it can. If a coordinate system can't be resolved, the original coordinates are shown as-is.
Why did a table show up as "No location data"?
That table has no geometry column registered in geometry_columns and no column pair that looks like latitude and longitude by name. Some tables in a database are lookup tables or attribute-only records with nothing to map, and that's expected.
Is my database uploaded to a server?
No. The file is read, parsed and rendered entirely inside your own browser tab using a WebAssembly build of SQLite. Nothing is uploaded or stored anywhere, so it's safe to use with private or sensitive location data.
Can I view more than one table from the same file?
Yes. The sidebar lists every usable table in the file. Click any of them to load it onto the map, replacing whatever table is currently shown.
Does changing the color edit my original file?
No. Color, line thickness and fill opacity are applied only inside the viewer. Your original database file is never modified, unless you click "Download Table as GeoJSON" to save a new, separate file.
What is the difference between SQLite and SpatiaLite?
SQLite is the underlying database engine and file format. SpatiaLite is a free extension for that same file format, adding spatial functions and a standard way to store geometry, so an ordinary SQLite file can also hold points, lines and polygons. Every SpatiaLite database is a valid SQLite file, but not every SQLite file uses SpatiaLite's spatial tables.

Step by Step

Step 1: Open the tool
1
Step 1
Open the tool
The map opens on a world view with no data yet. The toolbar at the top has Upload, Sample Data and a basemap switch. The sidebar holds the table list, style controls and export button.
Step 2: Load your database
2
Step 2
Load your database
Upload a .sqlite, .sqlite3 or .db file, drag and drop it onto the map, or click "Sample Data" to try the tool right away with a ready-made demo database.
Step 3: Watch the map zoom to fit
3
Step 3
Watch the map zoom to fit
The tool automatically picks the best table, a SpatiaLite geometry layer if one exists, otherwise the first table with detected latitude/longitude columns, and zooms the map to show every row in it.
Step 4: Check the Tables list
4
Step 4
Check the Tables list
The sidebar lists every table in the file, tagged as a geometry layer, a lat/lng table, or a table with no location data, so you know at a glance what the file contains.
Step 5: Switch tables if you need to
5
Step 5
Switch tables if you need to
Click any other tagged table in the list to load it onto the map in place of the current one.
Step 6: Pick columns for an unlabeled table
6
Step 6
Pick columns for an unlabeled table
If a table's coordinate columns are not auto-detected, a small panel lets you choose the right latitude and longitude columns by hand, then click "Plot This Table".
Step 7: Click a feature
7
Step 7
Click a feature
Click any point, line or polygon to open a popup with every attribute stored in that row. The clicked shape gets a bright highlight outline.
Step 8: Change the color and style
8
Step 8
Change the color and style
Pick a swatch or use the color picker to recolor the table, and use the Line Thickness and Fill Opacity sliders to adjust how bold the styling looks.
Step 9: Download your data
9
Step 9
Download your data
Click "Download Table as GeoJSON" to save the currently loaded table, ready for any GIS tool or web map.

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.

Advertisement
Advertisement

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:

🌱
Environmental and Field Research
Researchers and conservation teams review sensor locations, sample sites or observation points stored in a SQLite or SpatiaLite database, checking coverage and attributes before running further analysis.
📱
Mobile and Offline App Development
Developers building location-aware apps that store data locally in SQLite check what is actually inside a device's database file, confirming coordinates and saved records look right during testing.
🏛️
Open Data and Research Datasets
Universities and research groups share point, route and boundary data as SpatiaLite files alongside their reports. This tool previews that data instantly, without downloading a full GIS program first.
🔧
Asset and Infrastructure Mapping
Utility and infrastructure teams open a SpatiaLite database of poles, pipes, or equipment locations to review positions and attached maintenance records before an inspection or work order is issued.
🧭
Field Survey and Mobile Data Collection
Field teams using apps like QField, Mergin Maps, or a custom mobile survey tool export their collected points and polygons as SpatiaLite databases, then open them here to check the data landed correctly before importing it into a permanent GIS project.
🔍
GIS Data Quality Checks
GIS analysts spot-check a SpatiaLite export from QGIS, confirming feature counts, attribute values and geometry look right before publishing the file or handing it to a client.

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.

Advertisement
Advertisement

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.

Advertisement
Advertisement

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.

Muhammad Gulraiz Khan, GIS Expert and Founder of KONAKTIVE and OnlineMapMaker.com

About the Author

Muhammad Gulraiz Khan

GIS Expert & Consultant · Founder, KONAKTIVE

Muhammad Gulraiz Khan is a GIS expert with over a decade of professional experience delivering geospatial solutions for the energy sector, including projects for the World Bank, the International Finance Corporation (IFC), and USAID. He built OnlineMapMaker.com to make professional-grade mapping tools free and accessible to everyone.

Advertisement
Advertisement