Browser History Duplicate Cleaner
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Browser History Duplicate Cleaner scans the current page for browser history items, recently visited sites, and frequently used pages displayed on the new tab page, history page, or browser dashboard. It extracts URLs, titles, timestamps, and favicon data from history listings. The floating panel detects and groups duplicate entries by URL (exact match, normalized paths, or ignoring query parameters), highlights duplicates with visual indicators, and provides one-click removal of duplicates. A summary shows total history entries, unique sites, and duplicate count. Options include keeping only the most recent version of duplicates, merging duplicates by preserving the latest timestamp, and exporting cleaned history data as JSON or text. Custom duplicate detection rules support ignoring query parameters or trailing slashes.
WHERE IT RUNS
Works on any browser history page, including Chrome's chrome://history, Firefox's about:history, Edge's edge://history, new tab page recently visited sections, and browser dashboards. The script intelligently detects history items using common selectors and can also fall back to general link detection on any page with history-like entries. It works best on browser history pages and new tab pages with recent activity sections.
HOW TO USE
The panel displays statistics showing total entries, unique sites, and duplicate count. Click "Scan History Page" to detect and analyze all history items on the current page. Duplicate groups are displayed with the number of copies, URLs, and action buttons. Use "Keep Newest" to remove older copies of a duplicate group, or "Remove All" to delete all copies. Use "Clean All Duplicates" to automatically remove all duplicate entries (keeping only the newest if the option is enabled). Customize detection rules (Exact match, Normalized, Ignore query parameters) to control how duplicates are identified. Export the report as text or JSON for documentation or further analysis. Toggle confirmation prompts before removal for safety.
MECHANISM — URL NORMALIZATION WITH MULTI-LEVEL DUPLICATE DETECTION
The script uses a configurable URL normalization engine to identify duplicate entries. It extracts URLs from history items and applies normalization based on the selected rule: exact match (identical strings), normalized (removes trailing slashes), or ignore query parameters (removes URL query strings while preserving path). Each normalized URL is used as a key to group entries, and groups with multiple entries are flagged as duplicates. Timestamps are extracted from page elements or fall back to current time, and entries are sorted by recency. The cleaning process removes entries based on the "keep newest" preference, and all modifications are tracked locally. The entire detection and cleaning process runs client-side with no network calls.
THE PANEL
The floating panel is fully draggable and remembers its position per domain. Click the minimize button to collapse it to a small bubble, or press Escape to hide it. The panel automatically adjusts to different screen sizes and can be resized to show more content. All settings, including detection rules and preference toggles, are saved per domain. The panel integrates smoothly with any page layout using the BGPanel framework, maintaining clean separation from page content.
PLEASE NOTE
This script requires the free BotGentz extension to run. It does not send any data to external servers; all extracted history data, duplicates, and settings remain entirely local to your browser using GM_setValue. The script never reads password fields, hidden inputs, or file inputs. It stores only URLs, titles, and timestamps from publicly visible history page content. The script detects and highlights duplicate entries for review but does not automatically delete browser history—all removal actions require user confirmation. Data persists across browser sessions and is isolated per browser profile.