indice

Web archive server · written in Rust

Free & open source · AGPL-3.0

indiceA reading room for web archives.

indice turns your WACZ files into an archive you can actually use: full-text search with faceted, temporal browsing; the provenance of every crawl; and in-browser replay using trusted Webrecorder tooling. One self-contained binary that scales from you on your laptop to multiuser organizational setups.

brew install edsu/indice/indiceor a prebuilt binary, Docker, or cargo →
single binarymacOS · Linux · Windowsno databaseruns offline

What you get

Full-text search, faceted & temporal

Hit-highlighted snippets across page text, titles, and metadata; then narrow by collection, site, date, type, or language, with a month timeline for moving through time.

Provenance up front

See how each crawl was made, including software, operator, dates, seeds, page counts.

Faithful in-browser replay

Archived pages replay client-side, exactly as captured, right in the reader's browser.

Replay is entirely Webrecorder's work (ReplayWeb.page / wabac.js).

The reading room

indice homepage: search box, browse-by-year and top-sites, and a collection card
Search & browse. A calm front page: search, browse by year or site, and collection cards.
A collection page rendered as a finding aid with creator, dates, rights, subjects, and crawl provenance
Finding aids, not folders. Each collection reads like an archival description, with fixity and crawl provenance stored as Markdown files you can edit.
Search results with a faceted sidebar and hit-highlighted snippets
Slice and dice. Facets for collection, year, site, type, and language beside hit-highlighted results.
The webrecorder.net homepage replaying inside indice via ReplayWeb.page
Replay in place. Archived pages replay exactly as captured. Here is webrecorder.net being replayed, wrapped in indice's chrome.

How it works at the command line

Index

Point indice at local or remote WACZ files. It builds an embedded full-text index and reads each crawl's provenance.

indice index --collection "Example" *.wacz

Serve

Run the single binary. It serves the read-only reading room over HTTP.

indice serve

Search & replay

Readers search with facets and a timeline, then open any page and watch it replay in their browser.

Bring your archives

Works with the archives you already have.

Browsertrix

Browse your Browsertrix org and import collections and crawls in a few clicks, or index and replay themstraight from Browsertrix's cloud storage, without downloading a thing. indice serves the very same ReplayWeb.page engine Browsertrix does, so replay is identical.

Archive-It

Pull a collection's WARCs from Archive-It over WASAPI; indice builds the WACZ, indexes it, and carries the descriptive metadata straight into a finding aid.

Cloud & remote storage

Point indice at a WACZ hosted over HTTP(S), in object storage, or behind a presigned URL, and it indexes and replays it with byte-range reads, without needing to download the entire file.

Built for range

One tool, laptop to institution.

indice ships as a single self-contained binary that uses the embedded Tantivy search engine library. So there's no Solr, Elasticsearch, or separate database to keep online. The same model that indexes a handful of your own WACZ files on a laptop should scale up towards institution sized collections. It aims to fit both ends of that range, rather than assuming the infrastructure of a large web archive.

Small & private

Index a few crawls on your laptop. Nothing is sent to a hosted service; it runs offline.

One binary, no database. WACZ files index in seconds, and search results return in milliseconds. Try it →

Scaled up

Serve an institutional reading room behind a proxy, with the same single binary.

The index is compact. Adding a million pages results in an index that is about 1.5 GB on disk. How it scales →

Curate in the workroom

Turn the reading room into a workroom.

Run in management mode or behind a SSO provider and a warm clay "red-tape" accent marks write mode: add archives, import from Browsertrix or Archive-It, and write finding aids in place. No command line needed.

Management docs →
indice in management mode: a clay-accented app bar with a Manage chip and a New collection button
Workroom mode. The clay accent and “Manage” chip signal you're editing the archive.

Why “indice”?

An indice is a sign that points beyond itself. Suzanne Briet argued that a wild antelope becomes a document once it is captured, catalogued, and placed in a zoo, an

“indice concret ou symbolique, conservé ou enregistré.”Suzanne Briet, Qu'est-ce que la documentation ? (1951)

Charles Sanders Peirce used index for the same family of sign — one bound to its object by a real connection, like smoke to fire. A web capture is like that too: a trace connected to a moment of the live web. And, of course, indice builds a full-text index over the archives it serves. Three senses of the same idea.

Install

Homebrew (macOS / Linux)

brew install edsu/indice/indice

brew upgrade indice tracks new releases.

Prebuilt binary

# macOS · Linux · Windows
Download from the releases page

Latest release ↗ unpack and run; a sample archive is included.

Cargo

cargo install --git \
  https://github.com/edsu/indice \
  --locked indice

Needs a Rust toolchain.

Docker

docker run -p 8080:8080 \
  -v indice-data:/data \
  ghcr.io/edsu/indice:latest

Or the compose stack with automatic HTTPS.

Colophon

How indice was made — and why that's part of the record.

indice has been built in the open over the course of 2026, in small increments, with substantial help from Claude Code, Anthropic's AI coding assistant. It is the work of a single developer working alongside a language model, not the product of an institution or a large team. It is alpha software: expect rough edges, and know that careful technical review is genuinely welcome.

It stands on the web archiving community's shoulders. Replay is entirely Webrecorder's ReplayWeb.page and wabac.js; the WACZ format, Browsertrix, and Archive-It's WASAPI shape how archives come in. Its framing is borrowed from documentation theory: Suzanne Briet's antelope, Peirce's index, and from the archival tradition of the finding aid.