Neatbo.

Browser bookmark export merger

Merge UTF-8 Netscape bookmark exports by exact folder title and same-folder HREF, preserving alternate metadata and complete source provenance.

Browser-local processingInputUTF-8 Netscape bookmark HTML filesOutputMerged HTML / provenance JSON / CSVUp to 2 MiB per file · File limit: 20
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop them here

Files stay on this device. Your originals stay unchanged.

.html · .htm

Up to 2 MiB per file · File limit: 20

    Options

    Complete the required options first. You can keep the defaults for the rest.

    Preparing the tool…

    Before you start

    Combine several exported bookmark files without installing a profile editor. Keep the chosen hierarchy, every duplicate record and conflicting tags/descriptions checkable.

    How to use this tool

    1. Choose at least two UTF-8 browser bookmark HTML exports.
    2. Review chosen hierarchy,duplicate metadata and the exact same-folder URL policy; optionally remove empty folders.
    3. Download bookmarks.html and the complete provenance/conflict report before importing through your browser.

    Supported inputs and limits

    Select2–20 UTF-8 bookmark HTML exports, each2MiB,total10MiB; no paste. Across all inputs50,000 folder/bookmark/separator semantic nodes,20,000 bookmarks,folder depth64; synthetic file roots excluded. Complete output20MiB,atomic over-budget failure.

    Only exact-title folders within the same parent merge. Only exact parser-decoded HREF strings within the same output folder deduplicate. The same URL in different folders stays; first-file/first-record precedence is stable. No URL normalization or fetching.

    Chosen titles,legal attributes and bookmark DD descriptions remain in importable Netscape HTML. Every input semantic record and alternate metadata is preserved in provenance; duplicate bookmarks also retain chosen/alternate snapshots in conflicts. Remove-empty-folders is optional and runs after merge, with removal provenance.

    Folder DD,orphan/duplicate DD,duplicate ambiguous HTML attributes,unrecognized semantic elements or ambiguous/unclosed DL/H3/A structure reject. META encoding must match UTF-8. Attribute names are HTML case-insensitive; decoded text/values are preserved, not original HTML bytes/comments/header formatting. Modern Firefox DD import is not guaranteed.

    Results contain literal URL strings with no clickable result links or DOM injection. HTML is a downloaded import file, never executed by this tool. No profile write/sync/network. Table200 rows/cell2000; text/copy above20,000 characters is a labelled preview; full JSON/CSV/HTML remain complete.

    Worked example

    Example input

    [selected fixed files]
    Example options
    {"secondary":"","params":{"removeEmptyFolders":false,"spreadsheetSafe":true}}

    Example output

    {"format":"Netscape-UTF8-bookmark-local-merge","summary":{"inputFiles":2,"inputBytes":759,"inputNodes":9,"inputBookmarks":5,"outputNodes":7,"outputBookmarks":4,"duplicateBookmarks":1,"mergedFolders":1,"conflicts":2,"removedEmptyFolders":0},"root":{"kind":"folder","id":"root","title":"","attributes":{},"children":[{"kind":"folder","title":"工作","attributes":{"add_date":"1"},"id":"output-1","children":[{"kind":"bookmark","title":"标题 & 一","attributes":{"href":"https://example.com/a?x=1&y=2","tags":"tag1","add_date":"2","icon":"data:image/png;base64,eA=="},"description":"description <literal>\n","id":"output-2"},{"kind":"bookmark","title":"Other","attributes":{"href":"https://example.org/"},"description":null,"id":"output-3"},{"kind":"bookmark","title":"新增","attributes":{"href":"https://example.net/"},"description":null,"id":"output-5"}]},{"kind":"folder","title":"Empty","attributes":{},"id":"output-4","children":[]},{"kind":"folder","title":"Other folder","attributes":{},"id":"output-6","children":[{"kind":"bookmark","title":"Same URL different folder","attributes":{"href":"https://example.org/"},"description":null,"id":"output-7"}]}]},"sources":[{"name":"bookmarks-a.html","bytes":451,"sha256":"18fea5db496dc7ce8f8dbee86e56e2f50e3248ddb0d5ac460da6b038543b2931","metadata":{"title":["Bookmarks"],"heading":["Bookmarks"],"meta":[{"http-equiv":"Content-Type","content":"text/html; charset=UTF-8"}]}},{"name":"bookmarks-b.html","bytes":308,"sha256":"0b27b73f767de0fd79b71b83d5675c2b1117de4e24a2b22007700093b64fdd14","metadata":{"title":[],"heading":[],"meta":[]}}],"provenance":[{"sourceFile":"bookmarks-a.html","sourceNode":"input-0-1","outputNode":"output-1","kind":"folder","decision":"inserted","outputStatus":"retained","sourceRecord":{"kind":"folder","title":"工作","attributes":{"add_date":"1"}},"keptSourceFile":"bookmarks-a.html","keptSourceNode":"input-0-1"},{"sourceFile":"bookmarks-a.html","sourceNode":"input-0-2","outputNode":"output-2","kind":"bookmark","decision":"inserted","outputStatus":"retained","sourceRecord":{"kind":"bookmark","title":"标题 & 一","attributes":{"href":"https://example.com/a?x=1&y=2","tags":"tag1","add_date":"2","icon":"data:image/png;base64,eA=="},"description":"description <literal>\n"},"keptSourceFile":"bookmarks-a.html","keptSourceNode":"input-0-2"},{"sourceFile":"bookmarks-a.html","sourceNode":"input-0-3","outputNode":"output-3","kind":"bookmark","decision":"inserted","outputStatus":"retained","sourceRecord":{"kind":"bookmark","title":"Other","attributes":{"href":"https://example.org/"},"description":null},"keptSourceFile":"bookmarks-a.html","keptSourceNode":"input-0-3"},{"sourceFile":"bookmarks-a.html","sourceNode":"input-0-4","outputNode":"output-4","kind":"folder","decision":"inserted","outputStatus":"retained","sourceRecord":{"kind":"folder","title":"Empty","attributes":{}},"keptSourceFile":"bookmarks-a.html","keptSourceNode":"input-0-4"},{"sourceFile":"bookmarks-b.html","sourceNode":"input-1-1","outputNode":"output-1","kind":"folder","decision":"merged-folder","outputStatus":"retained","sourceRecord":{"kind":"folder","title":"工作","attributes":{}},"keptSourceFile":"bookmarks-a.html","keptSourceNode":"input-0-1"},{"sourceFile":"bookmarks-b.html","sourceNode":"input-1-2","outputNode":"output-2","kind":"bookmark","decision":"duplicate-bookmark","outputStatus":"retained","sourceRecord":{"kind":"bookmark","title":"Other title","attributes":{"href":"https://example.com/a?x=1&y=2","tags":"tag2"},"description":null},"keptSourceFile":"bookmarks-a.html","keptSourceNode":"input-0-2"},{"sourceFile":"bookmarks-b.html","sourceNode":"input-1-3","outputNode":"output-5","kind":"bookmark","decision":"inserted","outputStatus":"retained","sourceRecord":{"kind":"bookmark","title":"新增","attributes":{"href":"https://example.net/"},"description":null},"keptSourceFile":"bookmarks-b.html","keptSourceNode":"input-1-3"},{"sourceFile":"bookmarks-b.html","sourceNode":"input-1-4","outputNode":"output-6","kind":"folder","decision":"inserted","outputStatus":"retained","sourceRecord":{"kind":"folder","title":"Other folder","attributes":{}},"keptSourceFile":"bookmarks-b.html","keptSourceNode":"input-1-4"},{"sourceFile":"bookmarks-b.html","sourceNode":"input-1-5","outputNode":"output-7","kind":"bookmark","decision":"inserted","outputStatus":"retained","sourceRecord":{"kind":"bookmark","title":"Same URL different folder","attributes":{"href":"https://example.org/"},"description":null},"keptSourceFile":"bookmarks-b.html","keptSourceNode":"input-1-5"}],"conflicts":[{"kind":"folder-metadata-conflict","sourceFile":"bookmarks-b.html","sourceNode":"input-1-1","outputNode":"output-1","kept":{"kind":"folder","title":"工作","attributes":{"add_date":"1"}},"alternate":{"kind":"folder","title":"工作","attributes":{}}},{"kind":"metadata-conflict","sourceFile":"bookmarks-b.html","sourceNode":"input-1-2","outputNode":"output-2","kept":{"kind":"bookmark","title":"标题 & 一","attributes":{"href":"https://example.com/a?x=1&y=2","tags":"tag1","add_date":"2","icon":"data:image/png;base64,eA=="},"description":"description <literal>\n"},"alternate":{"kind":"bookmark","title":"Other title","attributes":{"href":"https://example.com/a?x=1&y=2","tags":"tag2"},"description":null}}],"removals":[],"scope":"Exact decoded HREF dedup only within same parent folder; exact-title folders merge within same parent. First input/record wins chosen title and attributes. All alternate records/metadata are retained in provenance and duplicate conflict reports. HTML attribute names are case-insensitive; parser-decoded names/values and text are preserved, not original HTML bytes. Output header is UTF8 Bookmarks; folder DD/ambiguous structures/duplicate attributes/unrecognized semantic elements are unsupported. No profile writes, URL canonicalization/request, scripts, clickable result URLs or browser-sync. Modern Firefox DD import fidelity is not guaranteed."}

    When something does not work

    Re-export supported UTF-8 Netscape HTML,fix malformed/ambiguous metadata in the source and select2–20 files. Folder descriptions or unsupported elements need a format-aware source workflow. Rerun after correcting/cancelling.

    Frequently asked questions

    Are identical URLs in different folders deleted?

    No. Folder placement has task value, so exact HREF dedup happens only within the same output folder.

    Where are the other tags and descriptions?

    First record supplies chosen HTML metadata; every alternate input record remains in provenance and duplicate conflict snapshots. Firefox may ignore DD on import, so retain the report.

    Does it change my browser profile?

    No. It creates local files only. Your browser’s explicit import action is a separate workflow.

    Documentation & further reading

    Related tools