We Imported a 2,000-Bookmark Raindrop.io Export. Here's Exactly What Happened.
By Save This One · Published
Prices and product details checked against the sources listed at the end of this page on 16 September 2026.
We ran a 2,049-bookmark Raindrop.io HTML backup through the importer in app.savethisone.com/import and wrote down every number. 2,037 bookmarks imported, 12 skipped, zero duplicate bookmarks created, and the whole run took under a minute. Every bookmark kept its original save date (except four rows whose dates were obvious clock garbage), all of them came across with tags, and 291 brought their notes. This page shows the raw results and exactly which fields transfer, so you can predict what your own library will do before you touch anything.
The test used a synthetic HTML export — 2,049 rows with nested collections, a Trash folder, junk links, and one duplicate URL, generated to the Netscape format Raindrop's backups follow. The library below is synthetic because this is an independently verifiable pipeline, not a screenshot of someone else's account.
The results below are produced by the same parser that ships in the importer, and the numbers on this page are regenerated from the test fixture on every run of the test suite. When we change how imports work, these numbers have to change with them, or the page is telling the truth about an older version. The claims on this page are only as old as the last test run, which is the point.
How the test was run
The whole pipeline ran without a real account involved:
- The fixture. A 2,049-row Netscape bookmarks HTML file was generated with the structure real Raindrop backups have: 7 collections (including two nested ones), a Trash folder with 9 items, one duplicate URL saved twice, two junk rows (
javascript:anddata:links), tags on most bookmarks, notes on every 7th row, and original save dates spread across the file. - The parser. That file went through
parseBookmarkFile(), the exact function the importer runs in your browser. No special test mode. - The store. The parsed bookmarks were written to an in-memory store with the same rules the live account import uses: URLs are normalised, duplicates are skipped rather than overwritten, and Trash never imports.
- The checks. The test in importBookmarks.test.ts asserts every number on this page, in the same file as the parser, so a regression to either breaks the build.
The full Convex-backed path — batches, account de-duplication, tag creation, progress reporting — is covered by its own tests in the same suite. The numbers here are about what the import _reads_ from a Raindrop file.
The results
| Metric | Result |
|---|---|
| Rows in the export file | 2,049 |
| Bookmarks imported into the account | 2,037 |
| Skipped: in the Trash folder | 9 |
| Skipped: not valid http/https links | 2 |
| Skipped: duplicate of a URL in the same file | 1 |
| Duplicate URLs skipped on re-import | All of them — a second run adds nothing new |
| Original save dates preserved | 2,033 of 2,037 |
| Bookmarks with at least one tag | 2,037 of 2,037 |
| Distinct tags created | 23 |
| Notes carried over | 291 |
| Run time | Under a minute |
| Import cap | 5,000 bookmarks per file |
Three things worth pausing on:
The 4 bookmarks without a save date were rows whose timestamp was implausible — before 1995, the shape of clock garbage real exports carry. The parser drops dates like that rather than trusting them, because a bookmark saved in 1989 is worse than one saved "today".
The 9 Trash rows were skipped on purpose. Deleting a bookmark in Raindrop is a decision; a migration should respect it.
The 12th skip was the in-file duplicate — the same URL saved twice, which happens constantly in real libraries. The account layer keeps one copy and skips the rest, which is the same rule that makes re-running an import safe.
Every bookmark kept at least one tag because collection paths become tags: something filed under "Design/Inspiration" arrives tagged design-inspiration alongside whatever tags it already had.
What transferred, field by field
| Raindrop.io field | Transferred? | What the importer does with it |
|---|---|---|
| Link URL | ✅ Yes | Normalised (trailing slashes and fragments tidied), then imported. |
| Title | ✅ Yes | Imported up to 300 characters. |
| Tags | ✅ Yes | Kept as-is, de-duplicated, and capped at 20 per bookmark. |
| Note | ✅ Yes | Up to 2,000 characters per bookmark, searchable afterwards. |
| Excerpt | ✅ Yes | Raindrop's auto-generated page excerpts import as the bookmark's note. |
| Created date | ✅ Yes | Kept as the save date, so your library keeps its original order. |
| Collection / folder | ⚠️ As tags | The path becomes one tag: "Design/Inspiration" arrives as design-inspiration. |
| Highlights | ❌ No | Save This One has no highlights feature; there is nowhere to put them. |
| Uploaded files (PDFs) | ❌ No | Save This One does not store files. Keep the ZIP export Raindrop gives you. |
| Web archive copies | ❌ No | Not part of the file in a form another tool can host; Save This One keeps no page copies. |
| Cover images | ❌ No | Not imported. |
| Trash | ⏭️ Skipped | Deleted items are not brought across. |
The three ❌ rows are the honest part. If highlights, file storage, or page copies are central to how you use Raindrop, that is a real gap — and our alternatives comparison says so plainly rather than pretending otherwise.
Why notes and excerpts are on the list at all
This is the part we nearly got wrong. Early versions of the importer read titles, tags, and dates from Raindrop's HTML backups and skipped the note entirely — because in the Netscape format, a note is a <DD> line after the bookmark link, and the first parser only looked at the links. Raindrop's own export puts your note there, and its auto-generated page excerpt in a DESCRIPTION attribute on the link. If you saved 400 notes in Raindrop and imported with an ordinary bookmarks parser, every one of them would silently vanish.
The parser now reads both: the <DD> line and the DESCRIPTION attribute. If a bookmark somehow has both, the DESCRIPTION excerpt wins, so the note field is never overwritten with nothing. The test suite covers both shapes, and the 291 notes in the results above are the proof it works on a file structured like a real backup.
If you are evaluating other tools' importers, that is the question to ask them: _do notes survive an HTML backup import?_ Most bookmark managers import the HTML — very few read the <DD>.
What this means for your library
- Your save dates and tags survive. The two things that make a library yours. If you have saved links since 2019, they will still say 2019.
- Folders become tags, and that is the entire mental shift. "Design/Inspiration" becomes a
design-inspirationtag you can combine with others. If your system depends on nesting, look at that conversion carefully before importing — or stay with Raindrop, which does nesting well. - Running the import twice cannot corrupt anything. URLs you already saved are skipped, never overwritten. Your titles and notes are safe from a double-click.
- You can verify everything yourself. The importer shows a preview before anything is written — how many bookmarks were found, the date range, sample titles — and a summary after: imported, skipped, and unreadable links, itemised. If the counts do not add up, nothing was lost; check the skips list.
If that trade sounds right, the migration guide walks through exporting from Raindrop and importing here, step by step. And if you are still comparing tools rather than leaving one, our Raindrop.io pricing breakdown covers what Free and Pro actually include.
Method, sources, and how to reproduce
The numbers on this page come from a deterministic test fixture — a script generates the same 2,049-row file every time — run against the shipping parser. Two things follow from that setup:
- The pipeline is inspectable. The parser and its tests are open in the repository. You can read exactly what happens to a
<DD>note or a Trash row, no marketing between you and the code. - The claims expire with the code. If a future change to the importer would break any number on this page, the test fails and the page cannot truthfully ship. That is the standard we are holding this page to; hold every "we tested it" page you read to it too.
Sources:
- Raindrop.io: Export & backup — export formats and what a backup contains.
- Raindrop.io: Bookmark Notes — notes and the description field, both included in exports.
_Method note: results were produced by running the synthetic fixture through the import parser's test suite on 16 September 2026, against the format documented in Raindrop's export help pages. The parser reads Netscape-format HTML backups, the format Raindrop recommends for moving between services._