Skip to main content

ArcVault

Your Arc library, liberated.

You save valuable things across Arc's Spaces, folders and favorites, but that library is hard to export, back up or move anywhere else. ArcVault turns it into portable data you own: JSON, CSV, Markdown, browser bookmarks, or a searchable offline page.

pipx install arcvault
arcvault export
Arc
 ├── Spaces
 ├── Folders (any depth)
 ├── Favorites
 ├── Saved tabs
 └── Auto-archive  (arcvault recover)
        ↓
     ArcVault
        ↓
 JSON · CSV · Markdown · Bookmarks · HTML library

Privacy: ArcVault reads browser data that may contain sensitive browsing information. By default, all processing happens locally. ArcVault doesn't collect telemetry or upload your browsing data, and it never writes to Arc's files. See docs/privacy.md.

What arcvault export gives you

Everything you intentionally saved in Arc's sidebar, across every Space:

  • pinned tabs, and tabs inside folders and nested folders
  • favorites
  • your folder structure, as it is in Arc

All saved items are treated equally. Favorites, pinned tabs and folder tabs are just different places in Arc, not a ranking.

If you saved the same link in several places, ArcVault keeps every place. In the JSON and CSV it's one resource with a list of locations. In the Markdown, bookmarks and HTML library it appears in each folder where you saved it, under the URL and title you saved it with.

~/Documents/ArcVault/
├── arcvault.json     everything, losslessly: resources + all their locations
├── arcvault.csv      one row per link, for spreadsheets
├── arcvault.md       readable, organized by Space › Folder
├── bookmarks.html    Netscape bookmark file, the standard browser import format
└── library.html      offline page with search, filters and a folder tree

Each resource also gets an offline type (paper, video, repo, docs, course, PDF, …) and a topic. No API key is needed.

Recover auto-archived tabs

Arc archives Today tabs after a while, and closed tabs go to the archive as well. To get back anything that's no longer saved in your sidebar:

arcvault recover        # writes ~/Documents/ArcVault/recovered/

To include archived tabs in a normal export instead, use arcvault export --archive.

Organize by topic

arcvault organize           # shows your library grouped into topics
arcvault organize --write   # also writes a Markdown folder per topic

Topics come from keyword rules first. If nothing matches, the name of the folder you saved the link in becomes its topic, then its type (papers, courses, videos). Your own organization beats a guess.

You can configure the topics in ~/.config/arcvault/config.toml:

output = "~/Documents/ArcVault"

[organization]
categories = ["Artificial Intelligence", "Robotics", "Cooking"]

[organization.keywords]
Cooking = ["recipe", "baking", "sourdough"]

Install

Requires Python 3.11+ and macOS with Arc installed.

pipx install arcvault     # recommended: isolated install, `arcvault` on your PATH
pip install arcvault      # or with plain pip

No pipx? brew install pipx && pipx ensurepath.

From source:

git clone https://github.com/lexdumitrache/arcvault && cd arcvault
python3 -m venv .venv && .venv/bin/pip install -e .
.venv/bin/arcvault export

What has been tested

Status
Arc 1.165.1 on macOS, one real library Checked against real data: every saved sidebar tab is exported, every location survives deduplication, and all export formats contain the same resources
Edge cases (unknown node types, malformed items, half-written files, same-named folders, cycles) Covered by synthetic tests
Other Arc versions on macOS Not tested. Unknown layouts are handled best-effort and reported
Importing bookmarks.html into a browser Checked by hand with a real export: Space and folder nesting, same-named folders, links saved in several places, special characters in titles, favorites. Uses the standard Netscape format that Chrome, Firefox, Safari and Edge import
Arc for Windows Not supported yet

If something is missing or looks wrong, run arcvault doctor, then arcvault inspect --sanitize > arc-structure.json, and attach that file to an issue. It contains structure only: URLs, titles and names are replaced with placeholders.

Advanced features

None of these are needed for normal use, and none run unless you ask for them.

Feature Command Notes
Search from the terminal arcvault search "robot learning" --type paper Keeps a local SQLite index at ~/.arcvault/index.db, rebuilt automatically when Arc's data changes
Detailed statistics arcvault export --stats Per Space, types, topics, domains, folders
Raw browsing history arcvault recover --history Large and noisy. Read from a temporary copy of Arc's History database
Metadata enrichment arcvault export --enrich Makes network requests to each site, plus the GitHub, YouTube and arXiv APIs
AI topic classification arcvault organize --ai anthropic|openai|ollama Sends titles and URLs to the provider you choose (Ollama runs locally). Asks for confirmation before using a cloud provider

Python API:

from arcvault import ArcVault

library = ArcVault.discover().scan()            # scan(archive=True) to include recovery data
for r in library.unique:
    print(r.title, r.url, [loc.label for loc in r.locations])
library.export("json", "arc.json")

How it works

ArcVault reads Arc's sidebar and archive files without modifying them. It turns every saved tab into a Resource, normalizes URLs conservatively (fragments and query strings are kept apart from known tracking parameters), and merges links that are the same while keeping every location. It then writes the exports. Arc's storage format is documented in docs/arc-data.md, and the code layout in docs/architecture.md.

Development

python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest && .venv/bin/ruff check src tests && .venv/bin/mypy
ARCVAULT_REAL_ARC=1 .venv/bin/pytest tests/test_real_arc.py   # optional: invariants on your own Arc data

The tests use synthetic fixtures. Real browsing data never goes into the repository. See docs/contributing.md.

License

MIT

Metadata

Release files for arcvault 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arcvault 1.1.0
File Size Uploaded Provenance
arcvault-1.1.0.tar.gz 73.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arcvault 1.1.0
File Interpreter ABI Platform
arcvault-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 125.9 kB

Release files / arcvault-1.1.0.tar.gz

Download URL arcvault-1.1.0.tar.gz
Size 73.6 kB
Tags Source
SHA-256 checksum
How to use checksums
07355bc0570e87cfe56cf7fc9ce92b0878f013d15364ab281f775913fa9dfca0
BLAKE2b-256 checksum
How to use checksums
9450e5acc86772d40b08f2002dabcbe0d97e2a28bfb2654eea0f7c937481f7b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / arcvault-1.1.0-py3-none-any.whl

Download URL arcvault-1.1.0-py3-none-any.whl
Size 52.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f7aa1b9c215474b9139b49690d712b2acde5624b442f4b7f978d577f478d9e9
BLAKE2b-256 checksum
How to use checksums
f1c4606ecc02f335725edc22bad122c50af32626a4ca2bb7d6b43c404e701260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Security for arcvault 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for arcvault-1.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page