How to Import Bookmarks from Chrome into ArchiveBox
Export Chrome bookmarks as HTML, then feed the file to ArchiveBox so it can add the bookmarked URLs to your collection.
To import Chrome bookmarks into ArchiveBox, export them from Chrome as an HTML file, then run archivebox add with that file as standard input from your ArchiveBox collection directory:
archivebox add < ~/Downloads/bookmarks.html
ArchiveBox reads the URLs in the export and adds them to the collection for archiving. It processes the URLs; it does not save the bookmarks export file itself as a web page. Chrome Help: export bookmarks · ArchiveBox Usage
1. Export bookmarks from Chrome
- Open Chrome on the computer and profile containing the bookmarks.
- Open More → Bookmarks and lists → Bookmark Manager. You can also enter
chrome://bookmarks/in the address bar. - In Bookmark Manager, open its More menu and choose Export Bookmarks.
- Save the resulting HTML file somewhere accessible to the machine or container that runs ArchiveBox. For example, save it as
bookmarks.htmlin your working directory.
Chrome exports bookmarks as HTML. If you use multiple Chrome profiles, export from the profile whose bookmarks you want to import; the export is not a request to import every profile or synced account automatically.
2. Add the exported URLs to ArchiveBox
Host installation
Change to your initialized ArchiveBox data directory, where the collection is configured, and pass the export into the command:
cd /path/to/archivebox-data
archivebox add < /path/to/bookmarks.html
The documented example uses the same standard-input pattern. Use the actual paths for your installation. If your CLI is not running from the collection directory, use the documented --chdir option for your installed version, or change into the data directory first.
Docker Compose
With the project’s Compose setup, run the CLI through the service and pipe the file into standard input:
docker compose run --rm -T archivebox add < bookmarks.html
Run this where your Compose file and expected working directory are available. The shell opens bookmarks.html on the host side of the command, so the file must exist at that path. Check your Compose service name and volume mounts: the ArchiveBox service needs access to its initialized data directory, while the shell needs access to the input file. The exact mounts and paths depend on your Compose configuration.
Docker command pattern
ArchiveBox documents CLI access through Docker as well. The general pattern is:
docker run --rm -i -v /path/to/archivebox-data:/data archivebox/archivebox add < /path/to/bookmarks.html
Use the image and mount conventions for your own installation. The collection directory inside the container must be the directory ArchiveBox uses for its data. If your setup expects a different working directory or mount, adapt those paths rather than assuming /data is correct.
3. Confirm the import and archive results
After the command completes, review the collection in the ArchiveBox web interface or generated index. ArchiveBox adds the URLs and attempts to save snapshots according to its configuration. Adding a URL does not guarantee that its destination can be reached or fully preserved: the site may be unavailable, block automated requests, require authentication, or otherwise fail during capture.
For a large export, allow the archive tasks to run and check their results in the collection. An import may add many URLs even when some of those destinations later fail to archive.
What ArchiveBox imports from the HTML file
- It extracts bookmarked URLs: the export is an input list for
archivebox add. - It does not archive the export document as a page: the HTML file is not itself treated as the website you want to preserve.
- Bookmark ingestion and page capture are separate outcomes: a URL can be added even if ArchiveBox cannot successfully capture its destination.
- Chrome history is a different workflow: ArchiveBox documents a browser-history export script that produces JSON. You do not need that workflow for a bookmarks HTML export.
Optional alternative: browser extension
The official ArchiveBox browser extension describes bulk import of bookmarks and history as another browser-oriented workflow. This can suit people who prefer initiating an import from the browser rather than exporting a file and running a CLI command. Check that the extension is compatible with your installed ArchiveBox version before relying on it; the HTML export and CLI route above is the documented manual workflow. ArchiveBox project
Common problems and fixes
| Symptom | Likely cause | What to check |
|---|---|---|
archivebox: command not found |
The CLI is not installed in the current environment, or the command is being run outside the container where it is available. | Run the command in the environment where ArchiveBox is installed, or invoke it through the Docker or Compose setup used by your collection. |
| The command cannot find the collection or data directory | The command is running from the wrong working directory, or the collection volume is not mounted where expected. | Change to the initialized data directory or use the documented --chdir approach. For containers, verify the data mount and service configuration. |
| Input file not found | The path is wrong or the shell running the command cannot read the file. | Check the export’s actual save location and use its full path. For Compose, remember that input redirection is performed by the host shell. |
| URLs are added, but some pages have no saved snapshot | URL ingestion succeeded, but capture of a destination may have failed or been blocked. | Inspect the individual archive result and retry or investigate that destination. Importing bookmarks does not ensure every site can be archived. |
| Expected bookmarks are missing | The export may have been made from a different Chrome profile or may not contain the expected entries. | Open the relevant profile’s Bookmark Manager, review its folders, and export again from that profile. |
| A Docker command starts but does not read the file as expected | Standard input may not be attached to the container, or the invocation differs from the documented setup. | For Compose, use the documented docker compose run --rm -T archivebox pattern and verify the host-side redirection and service configuration. |
Performance, reliability, and cost considerations
The export-and-import step supplies URLs; the amount of later work depends on how many destinations ArchiveBox attempts to capture and what those sites require. Large bookmark collections can therefore take time to process. Consider reviewing the export before importing if you only want a subset. No fixed completion time or successful-capture rate is implied: destination availability and capture behavior vary.
For reliability, keep the original HTML export until you have checked that the intended URLs reached the collection. If some captures fail, distinguish those failures from import problems: ArchiveBox may have parsed and added a URL even though the destination could not be preserved. ArchiveBox is self-hosted software; the provided sources do not establish a per-bookmark service charge.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. It can capture a URL in one request and return an image or PDF; it is useful when the goal is a clean screenshot of a page rather than importing Chrome’s bookmark list into an ArchiveBox collection. See the ScreenshotNeo site and API documentation.
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://stripe.com \
-o shot.webp
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', res);
Cookie banners, popups, and chat widgets are removed before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month, with no card.
FAQ
Can ArchiveBox read a Chrome bookmarks HTML file?
Yes. Feed the exported HTML file to archivebox add, typically with standard input redirection.
Does ArchiveBox import my bookmarks or archive the HTML file?
It extracts and adds URLs from the file. It does not treat the export document as the page to archive.
Do I need to export Chrome history too?
No. History uses a separate ArchiveBox workflow; it is not needed to import bookmarks.
Will every bookmarked page be captured?
No such guarantee is documented. Importing the URLs and successfully capturing each destination are separate steps.


