ArchiveBoxWeb Archive

Open-source self-hosted web archiving

Preserve the web.On infrastructure you control.

ArchiveBox saves websites, bookmarks, RSS feeds, social posts, media, source code, and research material in durable files like HTML, PDF, PNG, TXT, JSON, WARC, MP4, and SQLite.




Open source MIT badge Active development badge GitHub stars badge Docker pulls badge PyPI installs badge Chrome store users badge
zsh · ~/archivebox · docker-compose
# Docker Compose is the recommended setup
$ mkdir -p ~/archivebox/data && cd ~/archivebox
$ curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml
$ docker compose up -d --wait
-> initialized ./data/index.sqlite3
ok listening on http://127.0.0.1:5797
$ 
ArchiveBox Web UI showing saved pages with thumbnails and capture formats ArchiveBox on iPhone, with its collection, tags, and server connection inside an iPhone frame

Browse and save from any device.
Free, self-hosted, 0 analytics.

CLI Web UI REST API Webhooks Browser extension Filesystem access

Why ArchiveBox

Designed to make your archived data useful today.

Self-hosted ArchiveBox dashboard

Own all your data

Run it as a Docker web app, use one-off CLI commands, or automate with APIs while keeping private and public data neatly separated.

Archived HTML and folders in Finder

Designed to last 100yr+

Snapshots are stored as ordinary files and folders, with metadata in SQLite and JSON. You can browse the collection without depending on a hosted service.

Who it is for

Powerful features for individuals, professionals, and institutions.

Personal archivists and self-hosters

Save bookmarks, browser history, RSS feeds, social media, form content, videos, podcasts, music, photos, and personal knowledge collections.

  • Own your data and keep it on local or remote storage you control.
  • Use the browser extension, CLI, Web UI, and scheduled imports together.
  • Export static HTML or browse the filesystem directly.
iPhone share sheet confirming a URL was saved with tagsArchiveBox’s Safari extension inside an iPhone frame

Lawyers and journalists

Keep copies of articles, source material, and public records, even after the original pages change or disappear.

  • Store screenshots, PDFs, headers, WARC files, and text extraction.
  • Tag and review sources through the self-hosted web interface.
  • Use ZK proofs with TLSNotary to prove content authenticity.
TLSNotary output verifying an archived response on the snapshot details page

Researchers and institutions

Support OSINT, social media research, AI-powered research agents, libraries, governments, and collection-building teams.

  • Automate imports through the CLI, REST API, webhooks, and schedules.
  • Keep machine-readable metadata in JSON and SQLite.
  • Extend extraction pipelines through the ArchiveBox ecosystem.
Archive depth, domain and subpath scope, URL allowlist, and URL denylist options on the Add page

Get ArchiveBox

Quickstart

Choose how you want to run your archive. Docker Compose is recommended for most installs.

ArchiveBox — Quickstart
Docker Compose
ArchiveBox
ArchiveBox web interfacedocker-compose.yml
Recommended
1

Create a directory and get the config

Install Docker first.

mkdir -p ~/archivebox/data && cd ~/archivebox
curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml
2

Start ArchiveBox

docker compose pull
docker compose up -d --wait

A new collection initializes automatically.

3

Finish setup and archive your first page

Open the admin UI to create your first admin account and finish the setup wizard. On a remote server, open /admin/ on its hostname or IP instead.

docker compose exec archivebox archivebox add 'https://example.com'
ArchiveBox.app
Applications
ArchiveBox Server on macOS
macOS 26+ · Apple Silicon
1

Download and open the app

Download ArchiveBox.app

Move it to Applications, and open it.

2

Follow the setup guide

The app’s setup wizard helps you start a server on your Mac or connect to an existing one.

3

Connect your apps

Use the Web UI, REST API, or CLI. Connect the mobile app, browser extension, and other clients using your server URL and API key.

Docker
ArchiveBox
ArchiveBox web interface
One container. Your archive.
1

Create a collection and start the server

Install Docker first.

mkdir -p ~/archivebox/data && cd ~/archivebox/data
docker run -d --name archivebox -v "$PWD:/data" -p 5797:5797 archivebox/archivebox:dev
2

Finish setup

Open the admin UI to create your first admin account and finish the setup wizard. On a remote server, open /admin/ on its hostname or IP instead.

3

Archive your first page

docker exec archivebox archivebox add 'https://example.com'
$curl get.archivebox.io
| sh
ArchiveBox
One command to get started
1

Run the setup script

curl -fsSL 'https://get.archivebox.io' | bash

You can read the script before running it.

2

Follow the prompts and finish setup

Follow the installer’s instructions to start using your collection.

Open the admin UI to create your first admin account and finish the setup wizard. On a remote server, open /admin/ on its hostname or IP instead.

pip / uv
ArchiveBox
HTMLPDFPNGWARC
Python package
1

Install the Python package

Install uv first.

uv tool install --python 3.13 --prerelease explicit --upgrade 'archivebox>=0.9.0rc0,<0.10'
archivebox version
2

Create a collection and start the server

mkdir -p ~/archivebox/data && cd ~/archivebox/data
archivebox init
archivebox install
archivebox server 0.0.0.0:5797
3

Finish setup

Open the admin UI to create your first admin account and finish the setup wizard. On a remote server, open /admin/ on its hostname or IP instead.

apt
ArchiveBox
HTMLPDFPNGWARC
Ubuntu / Debian
1

Add the repository and install

echo 'deb [trusted=yes] https://archivebox.github.io/debian-archivebox dev main' | sudo tee /etc/apt/sources.list.d/archivebox.list
sudo apt update
sudo apt install archivebox
(cd /tmp && archivebox version)
2

Create a collection and start the server

mkdir -p ~/archivebox/data && cd ~/archivebox/data
archivebox init
sudo archivebox install
archivebox server 0.0.0.0:5797
3

Finish setup

Open the admin UI to create your first admin account and finish the setup wizard. On a remote server, open /admin/ on its hostname or IP instead.

Homebrew
ArchiveBox
HTMLPDFPNGWARC
macOS / Linux
1

Install from the ArchiveBox tap

Install Homebrew first. Run these commands as your normal user, without sudo.

brew tap archivebox/archivebox
brew trust archivebox/archivebox
brew install archivebox
archivebox version
2

Create a collection and start the server

mkdir -p ~/archivebox/data && cd ~/archivebox/data
archivebox init
archivebox install
archivebox server 0.0.0.0:5797
3

Finish setup

Open the admin UI to create your first admin account and finish the setup wizard. On a remote server, open /admin/ on its hostname or IP instead.

Arch Linux
FreeBSD
Nix
ArchiveBox
Community packages
1

Choose your platform

Community packages may lag behind the Docker and Python releases.

Arch Linux (AUR)

yay -S archivebox

FreeBSD (uv shortcut)

curl -fsSL 'https://get.archivebox.io' | bash

Nix

nix-env --install archivebox

Guix

guix install archivebox
2

Set up your collection

Follow your package’s setup instructions, then use the CLI usage guide to initialize and manage your archive.

Docker Desktop
ArchiveBox desktop app running, with its menu and Add URLs window
Windows / Linux · Desktop app preview
1

Install Docker Desktop

Download Docker Desktop and start it on your computer.

2

Download or build the app

Follow the Windows / Linux app setup instructions.

This is an alpha project; contributors are welcome.

ArchiveBox
NASHome server
On your own hardware
1

Choose your platform

Community integrations may lag behind the Docker and Python releases.

2

Install and open ArchiveBox

Follow the platform’s installation guide, configure persistent storage, then open the app to finish setup.

For TrueNAS, see the README’s platform notes before choosing an integration.

ArchiveBox
Your serverAnywhere
Cloud hosting / VPS
1

Choose a provider

Check the provider’s current plans, supported versions, and storage options.

2

Deploy and finish setup

Use the provider’s ArchiveBox deployment flow, then open your instance to create an admin account. For an unmanaged VPS, follow the Docker Compose quickstart on your server.

ArchiveBox browser extension saved URLs
Save from your browser
Chrome · Firefox · Edge · Safari
1

Install the browser extension

2

Connect your ArchiveBox server

Open the extension’s Configuration page, enter your server URL and API key, then test the connection. Use one of the server install tabs if you don’t have a server yet.

3

Save a page

Open a page, click the ArchiveBox extension, and add your tags. You can also import bookmarks and history from the extension’s options.

Extension guide ↗

Configuration

50+ plugins & flexible configuration options.

Browse plugins and extractors ↗

ArchiveBox can be configured via the admin UI, CLI, ArchiveBox.conf, or by importing config and cookies from Chrome / other browsers. The same configuration model works in Docker, Docker Compose, bare-metal installs, scheduled jobs, and one-off CLI runs.

Adjust how pages are captured

Use TIMEOUT for slow networks, CHECK_SSL_VALIDITY for sites with broken certificates, PUBLIC_INDEX, PUBLIC_SNAPSHOTS, and PUBLIC_ADD_VIEW for publishing policy, and browser user-agent settings for sites that block obvious bots.

archivebox config
$ archivebox config                         # view full config
$ archivebox config --get CHROME_BINARY
$ archivebox config --set TIMEOUT=240
$ archivebox config --set PUBLIC_INDEX=False
$ env CHROME_BINARY=chromium archivebox add 'https://example.com'

Inputs and outputs

Integrate with tools you already use.

Disk layout, exporting, and security

Browse your captures as normal files without needing ArchiveBox.

Your captures are ordinary HTML, images, PDFs, and media files. Open them from Finder, search them with any filesystem search tools, let AI agents browse them directly, and back them up as regular files.

Archive layout

Each snapshot has a folder for every capture method. HTML lives in folders such as dom/ and singlefile/; images, PDFs, and media have their own folders too.

Snapshot metadata is saved alongside the outputs. Your collection’s database and configuration live outside the individual snapshot folders.

macOS Finder with the date, news.ycombinator.com, and snapshot folders expanded down to dom/output.html, with the saved HTML file selected

Static exports and publishing

You can export the archive index as static HTML, JSON, or CSV with archivebox list so collections can be reviewed without running the web server. Keep generated exports next to the archive/ folder so relative snapshot paths continue to work.

$ archivebox list --html --with-headers > index.html
$ archivebox list --json --with-headers > index.json
$ archivebox list --csv=timestamp,url,title > index.csv
Archived page rendered from saved HTML

Archived JavaScript

ArchiveBox uses a Chrome browser during archiving to run JavaScript and capture the rendered page.

ArchiveWeb.page records pages for replay, including their scripts and network responses. Replay captured pages with JavaScript using ReplayWeb.page, Webrecorder’s archive viewer.

Snapshot details and saved archive size

Storage requirements

ArchiveBox can use roughly 1 GB to 50 GB per 1,000 snapshots depending on media, video, audio, and extractor settings. Tune YTDLP_ENABLED and YTDLP_MAX_SIZE for media-heavy collections.

Keep index.sqlite3 on local storage or SSD when possible. Large archive/ folders can live on NFS, SMB, FUSE, S3-backed, or HDD storage, but Docker and fileshare setups may need ownership and root-squash adjustments. Avoid older filesystems like EXT3 or FAT for very large archives.

Plan for large archives

Background and motivation

Keep a copy of the web you care about.

ArchiveBox exists because link rot, platform churn, censorship, and disappearing media routinely erase useful knowledge. The project aims to make the web content you care about viewable with common software in 50 to 100 years, without requiring ArchiveBox or a hosted replay service to understand your files.

Why self-host?

Centralized public archives are essential, but not every page belongs in a global public service. ArchiveBox lets individuals and organizations save public or private material they can access, keep it locally or within their institution, and decide what to publish case by case.

Use the Web UI for browsing, the CLI and API for automation, and ordinary files for backups and exports.

Ethical and legal context

Responsible archiving depends on your jurisdiction, your use case, and your publishing policy. ArchiveBox is a tool; operators remain responsible for handling private data, copyright, DMCA or GDPR requests, and local legal requirements.

Public instances should publish contact and removal information, avoid monetizing copied content, and review the security and publishing documentation before exposing snapshots to anonymous viewers.

Related web archiving tools and communities

Looking for specialized crawling, replay, or bookmark management? Explore these other web archiving projects.