AI/TLDR

Datasette

Turn a SQLite file into a browsable website with a JSON API

Data WranglingOpen source
Latest
1.0a39 and 0.65.4
Updated
11 Sep 2026
Language
Python
License
Apache-2.0
Coverage
1 story
$pip install datasette

What's new

1.0a39 and 0.65.411 Sep 2026

Security releases on both the alpha and the stable line. They tighten permission checks across table, view and full-text-search endpoints, deny the SQLite statistics tables by default, and fix SQL identifier and HTML escaping for untrusted schemas. Instances on the public internet should upgrade, especially where an authentication plugin protects private tables.

Latest news

Overview

Datasette is an open source multi-tool for exploring and publishing data. You point it at a SQLite database file and it starts a web server that turns that file into a website: every table gets a browsable page with sorting and filtering, every query gets a shareable URL, and every page has a matching JSON endpoint. Nothing has to be modelled or configured first — the schema already in the file is the interface.

The second half of the tool is publishing. Datasette ships commands that package a database together with the server and deploy it to a host such as Heroku or Google Cloud Run, so a dataset that was a local file becomes a public, linkable site. A metadata file carries licence and source attribution alongside the data, which is the part that matters for journalism and archival work. Datasette Lite goes further and runs the whole thing as WebAssembly in the browser, with no server at all.

Datasette is maintained by Simon Willison and needs Python 3.8 or later. A large plugin ecosystem extends it with authentication, visualisations, extra output formats and more, and it sits at the centre of a family of related tools — sqlite-utils for building and reshaping the databases it reads, and the Dogsheep personal-analytics projects built on top of both. Its audience is data journalists, museum curators, archivists and researchers, and in LLM work it is a convenient way to browse a scraped or logged corpus before that corpus is embedded or evaluated.

What it does

  • Serve any SQLite database as a website where each table is a browsable, sortable, filterable page
  • Get a JSON API for every table and every custom SQL query, with no extra code
  • Publish a database to Heroku or Google Cloud Run with a single publish command
  • Attach licence and source attribution to a dataset through a metadata file
  • Run entirely in the browser through Datasette Lite, a WebAssembly build that needs no server
  • Extend the server with plugins for authentication, charts, extra export formats and custom pages

Getting started

Install from PyPI or Homebrew, then point the server at a database file. Datasette requires Python 3.8 or higher.

Install Datasette

Available on PyPI and in Homebrew; Docker images and other options are covered in the installation docs.

bashbash
pip install datasette
# or on macOS
brew install datasette

Serve a database

Start the local web server against a SQLite file. It listens on port 8001 by default.

bashbash
datasette serve path/to/database.db

Read the JSON API

Every page has a JSON twin — append .json to a table or query URL to get the same data back as JSON.

bashbash
curl 'http://localhost:8001/database/table.json'

Publish it

The publish commands bundle the database with the server and deploy it to a hosting provider.

bashbash
datasette publish cloudrun path/to/database.db --service my-data
datasette publish heroku path/to/database.db

Commands and code are distilled from the project's own documentation — always check the official repo for the latest.

When to use it

  • Publish a public, linkable copy of a dataset with its licence and source recorded alongside it
  • Explore an unfamiliar SQLite file in a browser instead of writing throwaway SQL scripts
  • Give a dataset a read-only JSON API so other tools and notebooks can query it over HTTP
  • Browse and spot-check a scraped or logged corpus before embedding, sampling or evaluating it for LLM work

How Datasette compares

Datasette alongside other open-source data wrangling tools AI/TLDR tracks, ranked by GitHub stars.

ToolStarsWhat it does
Hugging Face Datasets★ 22kAn Apache Arrow-backed Python library that loads datasets from the Hugging Face Hub or local files in one line and maps, filters and streams them without holding them in RAM.
sqlite-utils★ 2.2kA Python CLI and library that turns JSON, CSV and TSV into SQLite databases, creating schemas automatically and adding full-text search, table transforms and migrations.
DatasetteTurn a SQLite file into a browsable website with a JSON API