Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

There is no single, cross-browser “export every URL” command because a browser session can mean different datasets. Decide whether you need the URLs in currently open tabs, every back/forward entry in those tabs, recently closed tabs and windows, synced tabs, or the complete browser-history database. The correct retrieval method—and how complete the result can be—depends on that scope, your browser, and your device.

What “all page URLs” can mean

Chromium distinguishes session history from browser history. Session history records navigations in each tab so back/forward controls and session restore work. Browser history records main-frame URLs visited in any tab during the profile’s lifetime. They overlap, but neither is a substitute for the other.

What you need What it contains Most suitable route
Current tabs The address currently displayed in each open tab Read the tab list through browser UI, a bookmark/session tool, or an extension
Per-tab navigation history URLs reachable with that tab’s Back and Forward buttons Browser session APIs or session-state data; ordinary history export is not equivalent
Recently closed tabs/windows Entries retained by session restoration Browser restore UI or an extension using session APIs
Full profile history Visited main-frame URLs across tabs, subject to deletion and retention Browser account export or a local history database/tool
Tabs from another device Synced tabs available to the signed-in account Chrome’s “Tabs from other devices” view when sync conditions permit it

If your request is “all current Edge tabs plus every previous URL in each tab and Edge’s full History,” treat that as at least two exports: open/session data and profile history. A single list cannot reliably represent both without recording the tab or window that each URL came from.

Choose the scope before you export

Current tab addresses

This is the smallest and least ambiguous set: one URL per open tab. It excludes earlier pages in a tab, closed tabs, and visits made in other windows or devices.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Back/forward entries in each tab

A tab can contain several navigations even though only one URL is visible. Chromium’s session-history model is per tab, so a complete capture must preserve tab boundaries and entry order rather than flattening everything into one browser-history list.

Recently closed sessions

Session restoration can retain closed windows, tabs, and tab groups. Retention is not permanent: entries can disappear after clearing data, profile changes, or browser limits.

Complete profile history

This is broader than the current session. It may include visits from many tabs and windows, but deleted records cannot be recovered through an export that only contains data still available to the account. Work and school accounts can also have export restrictions.

Chrome: export account history

Google’s Chrome data-export facility may include Chrome browser history, depending on your account preferences and what data remains available. Use it when you need profile-level history rather than the back/forward entries inside currently open tabs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Open Google’s account data export page while signed in to the relevant account.
  2. Select Chrome data if it is offered for your account.
  3. Choose the export format and delivery method, then create the export.
  4. Download the archive and inspect the included history data. Keep the original archive unchanged so you can audit or reprocess it later.

This route is not evidence of a one-click export for every open tab or every session-history entry. It only covers data available to the account; deleted data and some managed-account data may be absent.

Chrome and Chromium: retrieve session tabs with an extension

Chrome’s chrome.sessions API is a developer-facing way to query and restore tabs and windows from a browsing session. An extension must request the sessions permission. The example below lists recently closed entries and prints each tab URL that the API exposes. It does not turn the full profile-history database into a CSV.

1. Create the extension files

Create a folder named session-url-exporter with these two files:

{
  "manifest_version": 3,
  "name": "Session URL Exporter",
  "version": "1.0.0",
  "permissions": ["sessions"],
  "action": { "default_popup": "popup.html" }
}
<!doctype html>
<meta charset="utf-8">
<title>Session URLs</title>
<button id="save">Download URLs</button>
<pre id="out">Loading…</pre>
<script>
(async () => {
  const groups = await chrome.sessions.getRecentlyClosed();
  const urls = [];
  for (const group of groups) {
    if (group.tab) urls.push(group.tab.url);
    if (group.window) {
      for (const tab of (group.window.tabs || [])) {
        if (tab.url) urls.push(tab.url);
      }
    }
  }
  const clean = urls.filter(Boolean);
  document.querySelector('#out').textContent = clean.join('n') || 'No restorable URLs returned.';
  document.querySelector('#save').onclick = () => {
    const blob = new Blob([clean.join('n') + 'n'], {type: 'text/plain'});
    const a = document.createElement('a');
    a.href = URL.createObjectURL(blob);
    a.download = 'recently-closed-session-urls.txt';
    a.click();
    URL.revokeObjectURL(a.href);
  };
})().catch(err => {
  document.querySelector('#out').textContent = `Error: ${err.message}`;
});
</script>

2. Load it and download the list

  1. Open chrome://extensions.
  2. Enable Developer mode.
  3. Choose Load unpacked and select the extension folder.
  4. Open the extension popup and click Download URLs.

The sample targets recently closed sessions because that is what the documented sessions API exposes for restoration. It does not claim that every historical navigation entry is available through this call. For an audit that includes currently open tabs, add a tab-querying extension component and record each tab’s window, tab ID, current URL, and timestamp separately from recently closed results.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Firefox: session restore and navigation history

Firefox Session Restore tracks open and recently closed windows, tabs, and tab groups. Its saved per-tab state can include navigation history, scroll position, and form data. Mozilla’s WebExtensions restore API restores a tab or window together with its navigation history.

These facilities are primarily for persistence and restoration, not a universal “export to CSV” command. To make a portable URL list, use an extension that reads the session objects and writes one record per tab and navigation entry. Preserve the tab’s window and position fields if you need to reconstruct the session later.

Synced tabs and other devices

Chrome can show “Tabs from other devices” when you are signed in and the required sync conditions are met. This view is useful for locating URLs that are not open on the current device, but availability depends on account, sync, device, and retention state. It should be treated as a separate source from local session history and full profile history.

Build a reliable URL inventory

For reproducible work, export structured records instead of a bare newline-delimited list. A practical record contains:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • source: current tab, session history, recently closed, synced tab, or profile history;
  • browser profile and device: enough context to distinguish multiple profiles;
  • window and tab identifiers: where the browser API provides them;
  • URL and capture time: retain the exact string, including query and fragment;
  • status: open, closed, restored, or history-only.

Deduplicate only after preserving the original records. The same URL can legitimately occur in several tabs, at different times, or with different fragments. If your goal is a visit timeline, removing duplicates destroys useful information.

What cannot be recovered reliably

  • Deleted history is not restored by an account export that only includes available data.
  • Unsynced tabs from another device are not guaranteed to appear in a synced-tab view.
  • A browser’s session-restoration store may omit entries that have expired or been discarded.
  • Current-tab export does not reveal every earlier navigation in those tabs.
  • Private-browsing activity is intentionally handled differently and should not be assumed to appear in ordinary history exports.

Because the documented sources do not establish one cross-browser export format, precise instructions for Edge, Safari, mobile browsers, and each operating system require the browser and platform to be specified first.

Troubleshooting

The export contains history but not my open tabs

You used a profile-history route. Capture the current tab set separately, then combine the files with a source field.

Earlier pages in a tab are missing

A current-tab list records only the displayed address. Use a session-aware extension or restoration data; ordinary browser history is not a per-tab back/forward ledger.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The Chrome extension returns an empty list

The API may have no recently closed entries available to the profile, or the entries may have expired. Verify that the sessions permission is present and reload the unpacked extension after editing its manifest.

Some account history is absent

Check whether the records were deleted and whether the account is managed by an organization. The export only includes data available under that account’s policies.

URLs from another device do not appear

Check sign-in and sync conditions, then use that device’s local session or history source if the tab was never synchronized.

The list is unsafe to share

Browser URLs can contain search terms, account identifiers, invitation tokens, and session parameters. Store exports securely, remove secrets before sharing, and do not publish an unredacted history archive.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Performance, completeness, and format choices

Current-tab inventories are fast and small. Session and recently closed data are also lightweight, but the amount depends on how many windows and tabs the browser retained. Full history exports can be much larger and may require post-processing. For repeatable jobs, write UTF-8 JSON Lines or CSV, record the source and timestamp, and hash the original archive before transforming it. A plain text list is convenient for pasting into another tool, but it cannot express tab ownership, chronology, or duplicate visits.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you already have the URLs and need clean images or PDFs of those pages, ScreenshotNeo provides a website screenshot API and MCP server. It does not export browser session history; it captures a supplied URL. A single request is enough:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo documentation for the full option set. You can also call it from Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Or Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
  • Cookie banners, newsletter popups, and chat widgets are removed before the shot; each cleanup step can be disabled.
  • Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed; response headers identify the page verdict and billing status.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
  • The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.

Create a free ScreenshotNeo account to try it without a card.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which method should you use?

Goal Use Main limitation
Copy addresses of tabs open now Current-tab inventory No earlier tab navigations
Recover recently closed windows Session restore or sessions API Only retained entries are available
Export profile-wide visits Chrome account data export Deleted or restricted data may be missing
Recover another device’s tabs Synced-tabs view Requires sync and account availability
Capture pages after collecting URLs ScreenshotNeo API It captures supplied URLs; it does not retrieve session history

Frequently Asked Questions

Can I get every URL from all browser tabs with one universal command?

No. Open tabs, per-tab session history, recently closed sessions, synced tabs, and full profile history are different datasets, and the documented browsers do not provide one cross-browser export workflow.

Does Chrome account export include back-button history for each tab?

Not necessarily. The documented export concerns available Chrome browser-history data; it is not evidence of a complete export of every open tab’s session-history entries.

Can Firefox export session history directly to CSV?

The documented Firefox features describe saving and restoring session state, including navigation history. They do not establish a universal user-facing CSV export, so an extension or additional conversion step is needed.

What should I do before sharing a URL export?

Review it for search terms, account identifiers, invitation links, and session tokens. Redact sensitive values and keep the original archive secured.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The Bottom Line

Define “all” first: use session-aware APIs for tab and recently closed data, account export for available profile history, and synced-tabs views for other devices. No documented method guarantees a complete, cross-browser list of every URL ever visited.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.