RunLocalTools

Browser History Link Extractor — Export Chrome, Firefox & Safari History as a Link List

Turn Chrome, Edge, Firefox or Safari history into a clean, searchable link list. Group by day, domain or session, export to Markdown or CSV. Fully local.


What it does

You give it a browser history file and it hands back a tidy list of the links you visited. Browse them grouped by day, by domain, by browsing session or by the searches you made, filter and search them, then export the result as Markdown, a standalone HTML page, CSV, JSON, a plain list of URLs, or a bookmarks file you can import into any browser.

It reads the raw history databases that Chrome, Edge, Brave, Vivaldi, Opera, Firefox and Safari keep on disk, so you do not need an extension or an export step. It also accepts Google Takeout History.json, CSV and TSV exports, bookmark files (HTML or JSON) and plain lists of URLs. The tool never visits a page and never fetches titles or icons: it only works with what is already in the file.

How it works

Format detection by content. The tool looks inside each file rather than trusting its name, so Chrome’s extension-less History file, Firefox’s places.sqlite and Safari’s History.db are recognised automatically. For SQLite files it reads the browser’s own tables (urls and visits for Chrome-family browsers, moz_places and moz_historyvisits for Firefox, history_items and history_visits for Safari).

Four different clocks, one timeline. Browsers store time in incompatible ways: Chrome counts microseconds since 1601, Firefox counts microseconds since 1970, Safari counts seconds since 2001, and exports use seconds, milliseconds or text. The tool converts each with the right rule, and treats zero, missing or impossible dates (before 1990 or in the future) as “unknown date” instead of showing 1601 or 1970.

Link cleaning. Tracking parameters such as utm_*, fbclid, gclid and msclkid are stripped, and redirect wrappers from Google, Facebook, DuckDuckGo, Bing and others are unwrapped so you see the real destination. URLs are normalised (case of the host, trailing slashes, www., http versus https), then duplicates are merged with a visit count and first and last visit time. Each cleaning step can be switched off.

Noise filtering. Ad frames and embedded content are skipped, and by default browser-internal pages (chrome://, about:, file://), localhost and private-network addresses, and search-result pages are hidden. All of this is a checkbox away if you want it back.

Sessions and searches. Visits are grouped into browsing sessions whenever there is a gap longer than you choose (5 to 120 minutes). Search queries are pulled out of search-result URLs from Google, Bing, DuckDuckGo, Brave, Yahoo, Ecosia, Startpage, YouTube, Amazon, eBay, GitHub, Wikipedia, Reddit and others.

How to use it

  1. Find your history file. Close the browser, then copy the file somewhere and add the copy. Expand “Where do I find my history file?” in the tool for the paths on Windows, macOS and Linux (for example Chrome’s History file, or places.sqlite in your Firefox profile folder).
  2. Add it. Drag the file into the page. You can add several files at once, from different browsers, and they are merged into one timeline.
  3. Explore. Switch between By date, Domains, Sessions, Searches, Pages and Stats. Click a domain or session to expand it, or sort the Pages table by title, URL, visits or last visit.
  4. Narrow it down. Use the panel on the right to search titles and URLs, set a date range, limit to or hide specific domains (wildcards like *.example.com work), or require a minimum number of visits. Pick the time zone you want times shown in.
  5. Redact if you are sharing it. On the Export tab you can remove query strings and fragments, drop page titles, keep domains only, or leave out chosen domains entirely.
  6. Export. Choose a format and download or copy it. You can also send the URL list or the pages table straight to another tool on this site.

Supported formats

  • Browser databases: Chrome, Edge, Brave, Vivaldi and Opera History; Firefox places.sqlite; Safari History.db.
  • Exports: Google Takeout History.json, JSON arrays and JSON lines (including Chrome extension exports), CSV, TSV and semicolon-separated files with a header row or with no header.
  • Bookmarks: Netscape-style bookmark HTML (Chrome, Firefox, Safari and Edge exports) and Chrome or Firefox bookmark JSON.
  • Plain text: any text file with one link per line.
  • Export formats: Markdown grouped by date, standalone HTML, CSV, JSON, URL list and importable bookmarks HTML.

Limitations

  • Copy the history file while the browser is closed. Browsers lock the file, and Firefox keeps very recent visits in a separate write-ahead file that this tool cannot read, so quit Firefox before copying places.sqlite.
  • Safari’s history file is protected on macOS; you may need to grant Full Disk Access to your terminal or Finder to copy it.
  • Page titles come from the file. A plain list of URLs has none, so those entries are shown by domain. The tool deliberately does not look titles up online.
  • Whole database files are loaded into memory to be read, so extremely large histories (hundreds of megabytes) depend on your device’s available memory.
  • The Searches list covers everything loaded and does not follow the filters in the side panel.
  • Times without a time zone in CSV or JSON exports are read as your device’s local time unless you tick the option to read them as UTC.

Privacy

The tool is local-only, with one small download. Your history file is read and processed entirely inside your browser: it is never uploaded, and the tool never contacts any of the sites in your history to fetch titles, icons or availability. The first time you open a Chrome, Firefox or Safari database, the page downloads a small SQLite reader library from a public CDN. That download does not include any of your data, and after it has loaded you can work offline. CSV, JSON, HTML and text files need no download at all. There are no optional online features. Your files and settings are kept in your browser’s own storage so a refresh doesn’t lose your work; use “Clear everything” to remove them, especially on a shared computer, because browsing history is sensitive.

FAQ

Can I export my Chrome history without an extension?

Yes. Chrome keeps its history in a file called History inside your profile folder. Close Chrome, copy that file, and drop the copy into this page. The tool reads the file directly and you can export the links as Markdown, CSV, JSON or HTML. If you would rather start from Google’s own export, Takeout’s History.json works too.

Why does my Firefox history look incomplete?

Firefox writes recent visits to a temporary file next to places.sqlite before merging them in. If you copy the database while Firefox is running, the newest visits may be missing. Quit Firefox completely, copy places.sqlite, and add that copy.

Does it upload my browsing history anywhere?

No. Reading, cleaning, filtering and exporting all happen in your browser. The tool does not request the pages in your history either, so it never reveals to a website that you visited it. The only network activity is the one-time download of the SQLite reader library when you open a browser database, which contains none of your data.

Can I hide sensitive sites before sharing the list?

Yes. Use “Hide these domains” in the side panel to filter them out of every view, and “Leave these domains out of the export” on the Export tab. The redaction options can also strip query strings, remove titles, or reduce the export to domains only. Since you may also have saved passwords or account pages in the list, review the export before sending it.

What is a session, and how is it calculated?

A session is a run of visits with no gap longer than the limit you choose. If you stop browsing for more than 30 minutes (the default) and come back, that starts a new session. It is a quick way to see what you were researching in one sitting.

Can I turn the history into bookmarks or a research log?

Yes. The Bookmarks export produces a file every major browser can import, and the Markdown export gives you a dated log with clickable links. If you want to dig into a list further, the Domain Extractor can pull hosts out of any text, and a CSV export opens directly in the CSV cleaner for tidying or merging with other lists.