The fastest free way to remove duplicate bookmarks is to export your bookmarks to a bookmarks.html file, run it through the duplicate bookmark finder above, choose which copy of each repeated link to keep, and import the clean file back into your browser. The tool groups every duplicate, shows the folder and date of each copy, removes empty folders, and gives you a clean file plus a CSV report. It runs entirely in your browser tab, so your bookmarks are never uploaded.
This guide explains why duplicates pile up, how to find duplicate bookmarks by hand in each browser, how the matching modes work, how to re-import a clean file without losing anything, and how this tool compares with the extensions that do the same job.
Why do I have duplicate bookmarks?
Duplicate bookmarks almost always come from merging bookmark sets that overlapped: repeated imports, sync turning on over existing local bookmarks, and the same page saved on different devices. Very few duplicates come from saving the same page twice on purpose.
The most common causes:
- Re-importing the same file. When Chrome imports a bookmarks.html file into a profile that already has bookmarks, it puts everything into a new folder named
Imported(Google documents this on its Import Chrome bookmarks and settings help page). Import the same file twice and you get two full copies. Import from Edge, then from Firefox, then from an old backup, and the overlap multiplies. - Sync merging local and account bookmarks. Turning on Chrome sync on a computer that already has local bookmarks merges the two sets. Identical bookmarks in identical folders usually collapse, but the same URL saved under a different title or in a different folder stays as two bookmarks. Newer Chrome versions can also show a separate “Only on this device” group next to your account bookmarks, which makes the bookmarks bar appear twice.
- Multiple devices. You bookmark an article on your laptop and again on your work desktop a month later. Sync keeps both.
- Slightly different URLs for the same page.
http://example.com/guide,https://www.example.com/guide/andhttps://example.com/guide?utm_source=newsletterare the same page to a reader, but three different bookmarks to the browser. This is the category most manual cleanups miss. - Browser migrations. Moving from Safari to Chrome, or from Chrome to Edge, often involves an automatic import on first launch plus a manual import “just to be sure”.
- Bookmark tools and extensions that restore from backups or merge profiles without de-duplicating.
None of these are bugs you did something wrong to cause. Browsers simply add rather than merge, because deleting a bookmark on your behalf would be worse than keeping an extra one.
How does this free duplicate bookmark finder work?
This free tool parses your bookmark file into a folder tree, computes a matching key for every URL, and groups bookmarks that share a key. You then decide which copy survives in each group, and the tool writes a new bookmarks.html containing everything else exactly as it was.
What it reads:
| Input | Where it comes from | Notes |
|---|---|---|
bookmarks.html (Netscape bookmark file) |
Export from Chrome, Edge, Brave, Opera, Vivaldi, Arc, Firefox or Safari | The standard format every browser imports |
Bookmarks (no extension, JSON) |
Chrome-family profile folder, e.g. %LOCALAPPDATA%\Google\Chrome\User Data\Default on Windows or ~/Library/Application Support/Google/Chrome/Default on macOS |
Copy it somewhere first; Bookmarks.bak works too |
bookmarks-YYYY-MM-DD.json |
Firefox Library → Import and Backup → Backup | Firefox’s own backup format |
What you get back:
- Stats: total bookmarks, folders, duplicate groups and folders that are already empty.
- Duplicate groups, largest first. Each copy shows its title, URL, folder path (for example
Bookmarks bar › Research), date added, and a badge if it lives in the bookmarks bar. - A default keep rule (oldest, newest, the copy in the bookmarks bar, or the first in folder order) with a per-group override, including “Keep all copies” for groups that are not really duplicates.
- A clean bookmarks.html with the same folder structure, titles, dates and favicons, minus the removed copies and, optionally, minus empty folders.
- A CSV report of every removed bookmark and the copy that replaced it.
The whole job happens in one pass over your bookmarks, so even a collection with tens of thousands of links groups in a moment. Your browser does not change at all until you import the clean file yourself.
How the three matching modes find duplicate bookmarks
Choosing the matching mode is the main decision in any duplicate bookmark cleanup, because it decides what counts as “the same page”. The idea is called URI normalization: rewriting URLs into a canonical form so equivalent addresses compare equal.
| Example pair | Exact URL | Normalized (default) | Ignore query string |
|---|---|---|---|
https://example.com/a and https://example.com/a |
Duplicate | Duplicate | Duplicate |
http://example.com/a and https://www.example.com/a/ |
Different | Duplicate | Duplicate |
…/a#comments and …/a |
Different | Duplicate | Duplicate |
…/a?utm_source=x&fbclid=y and …/a |
Different | Duplicate | Duplicate |
…/search?q=cats and …/search?q=dogs |
Different | Different | Duplicate (wrong) |
youtube.com/watch?v=1 and youtube.com/watch?v=2 |
Different | Different | Duplicate (wrong) |
Normalized is the right default. It ignores the scheme, a leading www., trailing slashes, fragments and a list of known tracking parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content, fbclid, gclid, msclkid, mc_cid, igshid and others), and it sorts the remaining parameters so ?a=1&b=2 equals ?b=2&a=1. Any parameter that could change the page still counts.
Exact is for the most cautious cleanup. It only groups character-for-character identical URLs, which is what the Bookmarks clean up extension and Edge’s built-in tool also do.
Ignore query string catches the most, but it is a blunt instrument. It is useful for article sites that append campaign parameters the tracking list does not know about. It is wrong for any site where the query string is the page, such as YouTube (?v=), forums (?t=), search results and many shops. Always scan the groups before downloading in this mode, and use “Keep all copies” on groups that are not real duplicates.
If your main goal is stripping tracking junk out of the URLs you keep, run the clean file through the free URL cleaner afterwards; the duplicate finder only decides which bookmarks to drop, it does not rewrite the URLs that stay.
Which copy should you keep?
Keep the oldest copy unless you have a reason not to. The date a bookmark was added is often the only record of when you found a page, and that date is what you need later to find the right archived snapshot if the page dies.
The four keep rules:
- Oldest copy. Preserves the original date added. Bookmarks with no date count as newest, so a dated copy wins.
- Newest copy. Suits people who recently reorganized and want the copy sitting in the new folder structure.
- Copy in the bookmarks bar. Keeps your quick-access bar intact and removes the stray copies buried in
Other bookmarksorImported. Within the bar, the oldest copy wins. - First in folder order. Keeps whichever copy appears first when reading the tree top to bottom, which is usually the bookmarks bar, then Other bookmarks.
Titles are not compared. Two copies of the same URL named “Guide” and “Great SEO guide (read later)” are still duplicates; if you care about a particular title, pick that copy manually in its group. The row you pick is marked Keep, the rest are marked Remove.
How do I remove duplicate bookmarks in Chrome manually?
Chrome has no duplicate detection, so a manual cleanup means searching for each suspect URL and deleting the extra copies in the Bookmark Manager. It works for a handful of known duplicates and is impractical beyond that.
As of September 2026 the steps are:
- Open the Bookmark Manager: three-dot menu → Bookmarks and lists → Bookmark manager, or press
Ctrl+Shift+Oon Windows, Linux and ChromeOS,Cmd+Option+Bon Mac, or go tochrome://bookmarks. - Type a domain or keyword into Search bookmarks. Results come from every folder at once, and each result shows its URL.
- Hover a result and use its three-dot menu → Show in folder to see where each copy lives.
- Select the copies to remove.
Ctrl-click (orCmd-click) picks individual items;Shift-click picks a range. - Press
Delete, or use the three-dot menu → Delete. If you remove the wrong one, pressCtrl+Z(Cmd+Zon Mac) straight away to undo. - For a whole duplicate folder such as a second
Importedfolder, right-click the folder and choose Delete.
Google’s own help page on managing bookmarks in Chrome covers the basics. The limits of this method are obvious: search only finds duplicates you already suspect, near-duplicates like http versus https look like different bookmarks, and there is no report of what you removed. It also runs on your live bookmarks, so with sync on, every delete reaches your other devices immediately.
Chrome bookmarks clean up for a whole Imported folder
If your duplicates are one big Imported folder that mirrors bookmarks you already had, you can often skip per-link work: open both folders side by side, confirm the Imported folder adds nothing new, and delete it. When the Imported folder is a mix of new and repeated links, that shortcut fails, and a duplicate bookmark finder is faster.
How to re-import the clean file safely
Always keep the untouched original export, then choose between importing the clean file into a folder (safe, but leaves your old bookmarks in place) and replacing everything (clean result, but needs a careful delete first). Nothing is lost in either approach as long as the original export is saved.
| Approach | What you do | Result | Risk |
|---|---|---|---|
| Import alongside | Import the clean file; Chrome puts it in a new Imported folder |
Old bookmarks plus a clean copy; compare, then delete the old ones yourself | Low; you temporarily have more duplicates |
| Replace | Back up, delete all bookmarks, then import the clean file | Only the clean set remains | Medium; with sync on, the delete reaches every device before the import does |
| Replace with sync paused | Turn off sync on this computer, delete and import, check, then turn sync back on | Clean set; other devices update once sync resumes | Medium; sync’s merge may re-add bookmarks still held in your account |
The replace workflow in Chrome, step by step
- Export a backup from the Bookmark Manager: three-dot menu → Export bookmarks. Keep this file somewhere safe; it is your undo button. See how to export bookmarks from Chrome if the menu has moved on your version.
- Run the export through the duplicate bookmark finder above and download the clean file and the CSV.
- Open the clean file in a viewer such as the free bookmarks HTML viewer and spot-check a few folders you care about.
- Delete the old bookmarks. In the Bookmark Manager, open the Bookmarks bar folder, press
Ctrl+A(Cmd+A) to select all, and delete. Repeat for Other bookmarks and any Mobile bookmarks folder you want cleaned. - Import the clean file: in the Bookmark Manager, three-dot menu → Import bookmarks, then select the clean file. (From Chrome settings, the same import lives under Import bookmarks and settings, where you pick Bookmarks HTML File from the list.) Google’s help page says that when Chrome has no bookmarks, imported bookmarks appear in the bookmarks bar; if an
Importedfolder still appears, drag its contents where you want them. - Check a second device after a few minutes if you use sync.
For a fuller walkthrough of the import dialog, including importing from other browsers, see how to import Chrome bookmarks.
Important warning about sync
Chrome sync propagates deletions. If you delete all bookmarks on one computer, they disappear from your phone and every other signed-in computer too, and they come back only when the clean file is imported and syncs. Do the delete and the import in one sitting, and never start the replace workflow without the backup export from step 1. If something goes badly wrong, the free Chrome bookmarks recovery tool explains how to pull bookmarks back from Chrome’s Bookmarks.bak file.
How to delete duplicate bookmarks in Edge, Firefox and Safari
Microsoft Edge is the only major browser with a built-in duplicate remover; Firefox and Safari need either an add-on or the export, clean and import route. The same bookmarks.html from this tool imports into all of them.
| Browser | Built-in duplicate finder (September 2026) | Export path | Import path |
|---|---|---|---|
| Chrome | None | Bookmark Manager → ⋮ → Export bookmarks | Bookmark Manager → ⋮ → Import bookmarks |
| Microsoft Edge | Favorites → ⋯ → Remove duplicate favorites | edge://favorites → ⋯ → Export favorites |
edge://favorites → ⋯ → Import favorites |
| Firefox | None | Library (Ctrl+Shift+O / Cmd+Shift+O) → Import and Backup → Export Bookmarks to HTML |
Library → Import and Backup → Import Bookmarks from HTML |
| Safari (Mac) | None | File → Export → Bookmarks | File → Import From → Bookmarks HTML File |
| Brave, Opera, Vivaldi, Arc | None | Same Chromium bookmark manager export | Same Chromium import |
Microsoft Edge
Open the Favorites pane with Ctrl+Shift+O, click the ⋯ menu, and choose Remove duplicate favorites. Edge only removes favorites with the same name and the same URL inside the same folder, and merges same-named folders at the same level. Copies in different folders, or with different titles, are left alone, and near-duplicate URLs are never matched. Edge shows an Undo option in the message bar right after it runs. For anything beyond same-folder exact copies, export your favorites and use this duplicate bookmark finder instead.
Firefox
Firefox has no duplicate finder. The Bookmark Dupes add-on on addons.mozilla.org lists and removes duplicates and empty folders inside Firefox. For the export route, Mozilla documents both directions: exporting bookmarks to an HTML file and importing bookmarks from an HTML file. Firefox’s Restore option (Library → Import and Backup → Restore) replaces all bookmarks with a JSON backup, but it cannot read HTML, so use Import Bookmarks from HTML for the clean file after deleting the old ones.
Safari
Safari on the Mac has no duplicate tool and no add-on ecosystem to speak of for this job. Export with File → Export → Bookmarks, clean the file here, then delete the old bookmarks in the sidebar and use File → Import From → Bookmarks HTML File; Apple describes the import on its Safari import help page. Safari places imported bookmarks in a new folder, so drag the contents to Favorites or the top level afterwards. If you use iCloud for Safari, the cleaned set syncs to your iPhone and iPad.
Which Chrome bookmarks duplicate remover should you use?
Several free tools remove duplicate bookmarks, and each fits a different situation: an extension edits your live bookmarks in place, while a file-based tool like this one never touches your browser until you import. Whether you call it a duplicate bookmark finder or a bookmark cleaner, the question is where the cleanup happens. Here is an honest comparison, as of September 2026.
- This free web tool — best when you want a reviewable, reversible cleanup of an exported file from any browser, with a CSV audit trail and no install.
- Bookmarks clean up (Chrome extension) — removes duplicates by exact URL, dead links and empty folders, and can merge same-named folders. Deletions cannot be undone inside the extension. Our Bookmend vs Bookmarks clean up comparison goes into detail.
- LazyCat Bookmark Cleaner (Chrome and Edge extension) — finds duplicates, invalid links and empty folders locally, with a visual report on your bookmarking habits. See Bookmend vs LazyCat Bookmark Cleaner.
- Edge’s Remove duplicate favorites — built in and instant, but limited to same-name, same-URL copies inside one folder.
- Bookmark Dupes (Firefox add-on) — Firefox-native; by default treats URLs as duplicates when they match up to the first
?, with an expert mode for custom rules.
| Need | Best fit |
|---|---|
| One-off cleanup, any browser, no install | This free duplicate bookmark finder |
| Ongoing cleanup inside Chrome with no export/import | A cleanup extension such as Bookmarks clean up or LazyCat |
| Exact duplicates in one Edge folder | Edge’s built-in tool |
| Cleaning inside Firefox | Bookmark Dupes |
| Near-duplicates (http/https, www, tracking tags) | This tool (Normalized mode) |
| Written record of what was removed | This tool’s CSV report |
Where this tool is weaker: it cannot edit your live bookmarks, so there is always an import step, and it does nothing about dead links. Where it is stronger: it works on files from any browser, it never changes anything until you decide to import, and it tells you exactly what it removed.
Chrome extensions available today use Manifest V3, the current Chrome extension platform. Before installing any bookmark extension, check its Chrome Web Store listing for a recent update date and read what permissions it asks for; a tool that reads your bookmarks can see every URL you have saved.
Troubleshooting common problems
Most problems come from importing the clean file into a profile that still has the old bookmarks, or from a matching mode that is too strict or too loose. The table below covers what people run into.
| Symptom | Likely cause | Fix |
|---|---|---|
| “That doesn’t look like a bookmarks export” | You dropped a different file, or a Safari .webarchive / .plist |
Export again from the browser’s bookmark manager as HTML |
| JSON file rejected as damaged | Chrome was writing the Bookmarks file while you copied it |
Close Chrome, copy the file again, or use Bookmarks.bak |
| No duplicates found, but you can see some | The copies differ in ways Normalized mode keeps, like an extra query parameter | Try Ignore query string mode, and review groups carefully |
| Groups contain different pages | Ignore query string mode on YouTube, forum or shop URLs | Switch back to Normalized, or choose Keep all copies on those groups |
| After import, everything is doubled | Chrome added the clean file as an Imported folder next to the old bookmarks |
Delete the old bookmarks, or delete the Imported folder and use the replace workflow |
| Deleted bookmarks came back | Sync re-merged bookmarks still stored in your Google Account | Do the delete and import in one session with sync on, or clean on every signed-in computer |
| Folders you wanted are gone | Remove empty folders was ticked | Untick it and download again; the original export is unchanged |
| Favicons missing after import | Some exports do not carry icons | Browsers re-fetch favicons as you visit each site |
| Bookmarks bar content landed in a folder | The profile still had bookmarks during import | Drag the folder contents onto the bookmarks bar |
Duplicate bookmarks vs dead bookmarks
A duplicate is two bookmarks pointing at the same page; a dead bookmark points at a page that no longer works. Removing duplicates does nothing about dead links, and a clean-looking bookmark list can still be full of 404s and parked domains.
For a quick picture of how much of your collection has gone stale, the free rot check gives you a health snapshot of your bookmarks. To test every link and export a list of the broken ones, use the free bookmark dead link checker. And if tidying up also means putting folders in order, the bookmark sorter sorts every folder A to Z, by date or by domain in one go, and accepts the clean file from this tool.
Where Bookmend fits
This tool does the cleanup; Bookmend is somewhere to put the result. Bookmend is an AI-native bookmark manager for Chrome and the web, and it does not remove duplicates for you. What it does is import a bookmarks.html file from Chrome or any other browser, up to 20,000 bookmarks at a time, with your folders coming in as collections. The clean file this page gives you is exactly that format, so the natural order is: clean the file here, then import it into Bookmend.
Once your bookmarks are in, Bookmend reads each saved page and writes a short summary, suggests tags, a note and which existing collection it fits, and lets you accept, edit or ignore each suggestion. Ask your library is a plain-language chat that answers from the pages you saved, with numbered citations back to the bookmarks, and search works by meaning rather than exact words. Bookmend also keeps the readable text of each saved page, so the content stays available if the site changes. Link health checks saved links in the background at most once a day, flags dead ones and offers the Wayback Machine copy closest to when the page last worked.
The free plan is the bookmark manager itself: saving, collections, tags, search, import and export. The AI features and link health are Premium, and during early access they are free for every new account, with no card needed. Your library lives in your Bookmend account and is the same in the Chrome extension and the web app at bookmend.app; the extension works in Chrome, Brave, Edge, Arc and Opera. See the full feature list and how Bookmend works.
What can’t this free tool do?
Know what this free duplicate bookmark finder does not do, so you can plan around it:
- It does not edit your browser’s bookmarks. It produces a new file; you import it.
- It does not compare page content. Two different URLs that show the same article (say, an AMP version and a normal version) are not grouped.
- It does not check whether links work. Use a dead link checker for that.
- It does not merge folders with the same name. Two
Recipesfolders stay two folders, although their duplicate links are removed. - It cannot clean bookmarks on a phone. Clean on a computer and let sync carry the result.
- It keeps the URL you chose as-is. It does not strip tracking parameters from the bookmarks you keep; that is what the URL cleaner is for.
Within those limits, it is the most reviewable way to remove duplicate bookmarks: every decision is visible before you download, the original export stays untouched, and the CSV report records exactly what changed.
Written by Nafiul Hasan, Founder, Bookmend. Last updated.