// what it does and why
TabWeed cleans up a bookmark hoard. You hand it the file your browser exports, it finds the duplicates, strips the tracking junk off the addresses and sorts the rest into folders using an AI you choose. Nothing is uploaded.
Open it →Chrome opens its bookmark manager with Ctrl+Shift+O, and the menu there writes your whole tree out as one file. Drag it onto TabWeed, which reads the format every browser has agreed on for decades, folders included. You get four views: everything, the duplicates, the links that look broken, and the AI folders. Export a fresh file grouped by the new categories or your old folders, and import that. Your real bookmarks are never touched, so the worst a bug here can do is hand you a bad download.
Two bookmarks pointing at the same page are rarely the same text. One came from a phone, one has a campaign tag glued on the end, one is missing a trailing slash. So every address is rewritten into a comparable form first: tracking parameters removed, mobile subdomains folded back, trailing slash dropped, protocol standardised. Whatever collapses to the same result is one group, and the shortest version is kept.
That rewriting has a cost I found by breaking something. Forcing every address to a secure protocol and dropping the port turned a bookmark aimed at a server on my own machine into an address that does not exist. Four links out of 962, two of them local. Public sites survive the upgrade. Your own network may not.
This is the part I would rather be honest about than sell. Run against my own library, the scan called 230 bookmarks broken. I rechecked all 230 properly, with a real browser identity, a full page request instead of a headers-only one, and a check of whether the domain still existed. 62 were actually dead. 78 were live sites refusing a request that looked automated, 21 were just slow, the rest rate limits and temporary errors.
So the option to drop broken links on export is off by default, and a button moves them to a quarantine folder instead of deleting them. Do not bulk prune on this evidence. Fixing it properly is not done yet. On this site the scan is disabled outright anyway, because a browser cannot fetch somebody else's site on your behalf. That needs the downloadable version and its small server.
The interesting constraint was sorting on my own machine instead of paying for it. The graphics card here has 4 GB, so the model that fits is a small one, and small models fail in a way that looks like success. Handed forty bookmarks at once it returned all forty, every one labelled with the same category. Twelve at a time, most collapsed into a single bucket. Four at a time, nine of twelve right. One at a time, eleven of twelve, at about three and a half seconds each.
So the local path asks about one bookmark per request: roughly an hour per thousand, unattended and free, and the only setting worth using. Before that it failed more quietly: asked for structured output, it repeated the same key for every bookmark, which collapses to a single entry. Forty in, one out, no error.
The version here is the whole tool minus the parts a browser is not allowed to do. Reading your file, finding duplicates, cleaning addresses and exporting are local work, so they simply run. For sorting you bring your own Gemini key, kept in your browser and sent straight to Google, or point it at a model on your own computer. The download adds the server, and with it the link scan and two more providers.