Bookmend
← BlogCHROME BOOKMARKS

Where Are Chrome Bookmarks Stored? (File Location on Windows, Mac & Linux)

By
⚡
THE SHORT ANSWER

Chrome stores bookmarks in a plain JSON file named Bookmarks inside your browser profile folder. On Windows the path is %LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks (full form: C:\Users\<you>\AppData\Local\Google\Chrome\User Data\Default\Bookmarks). On Mac it is ~/Library/Application Support/Google/Chrome/Default/Bookmarks. On Linux it is ~/.config/google-chrome/Default/Bookmarks. Chrome also keeps a single-snapshot backup called Bookmarks.bak in the same folder.

Where Are Chrome Bookmarks Stored? (File Location on Windows, Mac & Linux)

Chrome stores every bookmark you have saved in a plain text file on your local hard drive. The file has been in the same location for years, but because the parent folder is hidden on most operating systems, most people have never seen it. This guide covers the exact file path on Windows, Mac, and Linux, explains what is inside the file, describes the automatic backup Chrome keeps alongside it, and shows how to find the right folder when you use multiple Chrome profiles.

The Bookmarks file at a glance

The file is called Bookmarks — no file extension. It lives inside a folder named Default (or a numbered profile folder if you have multiple profiles), which is inside Chrome’s User Data directory. Every bookmark and folder you have ever created is stored in this single file as JSON text.

Chrome reads the file at startup and writes to it whenever you add, edit, move, or delete a bookmark. The file is small even for large collections — tens of thousands of bookmarks typically produce a file under a few megabytes.

Two files live side by side in the profile folder: Bookmarks (the live file Chrome is currently using) and Bookmarks.bak (an automatic single-snapshot backup Chrome writes at each startup). The backup is covered in its own section below.

Windows: full path and how to navigate there

On Windows, the Bookmarks file is at:

%LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks

Expanded with the full folder path, that is:

C:\Users\<your username>\AppData\Local\Google\Chrome\User Data\Default\Bookmarks

The fastest way to open the folder is to paste the short form with the environment variable directly into the File Explorer address bar and press Enter. Windows expands %LOCALAPPDATA% to the full path automatically, so you land in the Default folder without needing to navigate through hidden directories.

If you want to navigate there manually, you first need to reveal the hidden AppData folder. Open File Explorer, click the View tab in the ribbon, and check Hidden items. Once that option is active, AppData appears inside your user folder at C:\Users\<your username>\. From there, the path continues through Local > Google > Chrome > User Data > Default.

An alternative entry point is the Run dialog: press Win+R, type %LOCALAPPDATA%\Google\Chrome\User Data\Default and press Enter. File Explorer opens directly to the Default folder.

The Bookmarks and Bookmarks.bak files appear in the Default folder with no extension. Windows may display them with a generic icon. You can open either one in Notepad by right-clicking and choosing Open With, or drag them into Visual Studio Code or any editor that handles plain text.

For enterprise-managed machines where Chrome is deployed through a policy, the User Data location can sometimes be redirected to a network path or a different local directory. The reliable way to confirm the exact path in any environment is to open Chrome and navigate to chrome://version, which is covered below.

Mac: full path and how to navigate there

On macOS, the Bookmarks file is at:

~/Library/Application Support/Google/Chrome/Default/Bookmarks

The ~ is shorthand for your home directory, so the full path is:

/Users/<your username>/Library/Application Support/Google/Chrome/Default/Bookmarks

The Library folder is hidden by default in Finder, so you cannot simply scroll to it in a Finder window. The most direct method is Go to Folder: press Cmd+Shift+G in Finder, paste ~/Library/Application Support/Google/Chrome/Default/, and press Return. Finder opens the folder directly.

A second method is to hold the Option key while clicking the Finder Go menu. Library appears in the list only when Option is held — this takes you to the root of your Library folder, from which you navigate through Application Support > Google > Chrome > Default.

Once you are in the Default folder, the Bookmarks file appears without an extension. Right-click it, choose Open With, and select TextEdit or a code editor. TextEdit will try to render it, so if you want to see the raw JSON, use a code editor like VS Code.

Linux: full path and how to navigate there

On Linux the path depends on which browser build you have installed.

For the official Google Chrome release (the .deb or .rpm package from Google):

~/.config/google-chrome/Default/Bookmarks

For Chromium (the open-source build distributed through most Linux package managers including apt and dnf):

~/.config/chromium/Default/Bookmarks

Both of these are inside hidden directories — the leading dot on .config means they do not appear in standard file manager views. In a terminal, navigate with:

cd ~/.config/google-chrome/Default/

Then open the file with cat Bookmarks to view it, or nano Bookmarks, gedit Bookmarks, or any editor you prefer.

To show hidden folders in a graphical file manager like Nautilus or Thunar, press Ctrl+H. The .config folder then appears in your home directory.

If you installed Chrome or Chromium through Snap or Flatpak, the profile data is sandboxed into a different location. Snap packages for Chromium typically store data under ~/snap/chromium/current/.config/chromium/. Flatpak installs commonly use ~/.var/app/org.chromium.Chromium/config/chromium/. Rather than guessing, use chrome://version to get the authoritative path.

The fastest way to confirm the path on any OS

Regardless of operating system or install method, Chrome always shows you the exact profile path at chrome://version. Type that into the address bar and press Enter. Look for the line labeled Profile Path — it gives the full absolute path to your active profile folder. The Bookmarks and Bookmarks.bak files are in that folder.

This is particularly useful when you have multiple profiles and need to know which folder belongs to which one, or when Chrome is installed in a non-standard location on a managed or corporate machine.

Inside the Bookmarks file: the JSON format

Open the Bookmarks file in a text editor and you will see a JSON object with two top-level keys: checksum (an internal integrity hash), roots, sync_metadata, and version.

The roots object is where all your bookmarks live. It has three children:

  • bookmark_bar — everything saved to your bookmarks bar (the toolbar below the address bar)
  • other — bookmarks saved outside the bar with no specific folder, visible in the Bookmark Manager as “Other bookmarks”
  • synced — a legacy section; generally empty in current Chrome

Each of these contains a children array. Each item in that array is either a URL entry or a folder. Folders have their own children arrays, giving you the full nested structure that matches what you see in Chrome’s Bookmark Manager.

A URL entry looks like this:

{
  "date_added": "13356464817000000",
  "guid": "a4b5c6d7-...",
  "id": "128",
  "name": "Example Page Title",
  "type": "url",
  "url": "https://example.com/"
}

The date_added value is a Windows FILETIME — microseconds elapsed since January 1, 1601. It is not human-readable as-is, but any online timestamp converter can translate it.

A folder entry looks the same but has "type": "folder" and a children array rather than a url field.

The file does not store page content, favicons, screenshots, visit history, or any metadata beyond what you see above. It is purely a structured list of URLs and the names and folders you assigned them.

The Bookmarks.bak companion file

Every time Chrome starts, it copies the live Bookmarks file to Bookmarks.bak before loading it. This is a single-snapshot backup, and it has several important limits worth understanding.

Chrome only keeps one .bak file at a time. The moment Chrome opens, the previous .bak is overwritten with whatever the current Bookmarks file contains. This means if you deleted a bookmark, closed Chrome, and then opened Chrome again, the .bak file now reflects the post-deletion state — the deleted bookmark is no longer in it.

The .bak file uses the same JSON format as the live file, not the portable HTML export format. It is not directly openable as a bookmarks collection unless you rename it and replace the live Bookmarks file with it.

Because the Bookmarks.bak restoration procedure requires closing Chrome, renaming files, and restarting the browser, the full steps are covered in the how to restore Chrome bookmarks guide rather than here. This post’s focus is where the files are located, not the recovery procedure.

Multiple Chrome profiles: finding the right folder

When you use more than one Chrome profile — common for separating work and personal accounts, or for different Google accounts — Chrome creates a separate profile folder for each one under the same User Data directory.

The first profile you created always uses the Default folder. Each additional profile gets a numbered subfolder: Profile 1, Profile 2, Profile 3, and so on. Each folder contains a completely independent set of bookmarks, history, cookies, and settings. There is no cross-contamination between profiles.

The profile folders are numbered in the order they were created, which may not match the order you use them. If you created a work profile first and a personal profile second, the work profile is Default and the personal profile is Profile 1 — even if you use the personal profile more often.

The full paths follow the same pattern as the single-profile case, with the folder name substituted:

Windows (second profile):

%LOCALAPPDATA%\Google\Chrome\User Data\Profile 1\Bookmarks

Mac (second profile):

~/Library/Application Support/Google/Chrome/Profile 1/Bookmarks

Linux (second profile):

~/.config/google-chrome/Profile 1/Bookmarks

To identify which numbered folder belongs to a specific Chrome profile without opening each one:

  1. Open Chrome and switch to the profile you want to identify.
  2. Navigate to chrome://version.
  3. Read the Profile Path line. It states the exact folder name (Default, Profile 1, Profile 2, etc.) for the currently active profile.

If you want to map all profiles at once without switching between them, read the Local State file in the root of the User Data folder. It is JSON, has no extension, and contains a profile.info_cache section. Each key in that section is a folder name (e.g., "Default", "Profile 1"), and each value includes a name field with the display name and a user_name field with the associated Google account email. A text editor or any JSON viewer shows you the complete mapping in one pass.

Why editing the file directly carries risk

The Bookmarks file is readable plain JSON, which makes it tempting to edit in bulk — rename folders programmatically, strip unwanted entries, or merge two profiles’ bookmarks into one file. This can work, but the failure modes are severe enough that it is worth understanding them before proceeding.

Chrome must be completely closed. Chrome writes to the Bookmarks file every time you interact with bookmarks — adding, renaming, moving, deleting, even reordering. If you edit the file while Chrome is running, Chrome will overwrite your changes the next time it performs a write. The overwrite happens silently and without warning. Your edits simply disappear.

A single JSON syntax error empties your bookmarks. If you introduce a malformed character — a missing closing brace, a comma after the last element in an array, an unescaped backslash in a URL — Chrome cannot parse the file on its next launch. It falls back to treating the file as empty, which makes your bookmarks disappear entirely. Chrome does not show an error message; it just presents an empty bookmark list. This is recoverable if you kept a copy of the original, but distressing if you did not.

IDs must remain unique. Every entry in the file has an id field and a guid field. If you copy entries from another profile’s Bookmarks file and paste them in without reassigning IDs, you will have duplicates. Chrome’s behavior with duplicate IDs is undefined — it may silently discard entries or produce corruption on the next sync cycle.

Sync metadata can cause conflicts. The file root contains sync-related fields that Chrome uses to reconcile local changes with your Google account. Modifying bookmark entries without updating those fields in a consistent way can cause sync to revert your changes or duplicate entries across your signed-in devices.

For bulk operations that you might otherwise want to do by editing the file — finding duplicates, identifying dead links, renaming many bookmarks at once — these are better handled through the Bookmark Manager UI or through a tool that uses Chrome’s own API.

What to use instead

For the majority of bookmark management tasks, the Chrome Bookmark Manager at chrome://bookmarks is the right tool. It handles creating, renaming, moving, and deleting without any risk of file corruption, and it works correctly regardless of which profile you are in.

For backing up or migrating bookmarks, exporting as an HTML file from the Bookmark Manager is more reliable than copying the raw Bookmarks file. The HTML format is portable across browsers and does not require matching folder paths on the destination machine. The how to export Chrome bookmarks guide covers that process step by step.

Where the built-in Bookmark Manager falls short is maintenance at scale. If you have accumulated thousands of bookmarks over years, there is no built-in way to identify which ones lead to dead pages, find duplicates, or run a full-text search across all bookmark titles and URLs at once. That is the gap Bookmend fills.

Bookmend is a free Chrome extension. It uses Chrome’s bookmarks API — it never reads or touches the raw Bookmarks file. It checks every saved link for dead pages, surfaces duplicates, runs full-text search across your entire collection, and offers one-click recovery through the Wayback Machine for links that no longer resolve. No account is required, and nothing leaves your browser. Do this automatically with Bookmend — Install free.

If you arrived here because your bookmarks have disappeared and you are looking for the file location so you can attempt a recovery, start with the how to restore Chrome bookmarks guide — it walks through the Bookmarks.bak process and other recovery options in detail.

Frequently asked questions

The file is at %LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks, which expands to C:\Users\<your username>\AppData\Local\Google\Chrome\User Data\Default\Bookmarks. The AppData folder is hidden by default. Either enable Show hidden items in File Explorer's View tab, or paste %LOCALAPPDATA%\Google\Chrome\User Data\Default\ directly into the File Explorer address bar and press Enter — Windows expands the variable automatically.

The file is at ~/Library/Application Support/Google/Chrome/Default/Bookmarks. The Library folder is hidden in Finder. Open Finder and press Cmd+Shift+G, paste ~/Library/Application Support/Google/Chrome/Default/ and press Return. Alternatively, hold the Option key while clicking the Finder Go menu — Library appears in the list only when Option is held.

For the official Google Chrome release the file is at ~/.config/google-chrome/Default/Bookmarks. For Chromium the path is ~/.config/chromium/Default/Bookmarks. Both directories are hidden. In a terminal, navigate with cd ~/.config/google-chrome/Default/ and open the file with any text editor. If you installed Chrome or Chromium as a Snap or Flatpak, check chrome://version for the exact Profile Path, as sandboxed installs use a different location.

It is a plain JSON text file with no file extension. You can open it in any text editor — Notepad, TextEdit, VS Code, nano, or gedit — and read it directly. No special software is required. Each bookmark entry records the URL, the page title Chrome saved at the time you bookmarked it, a timestamp, and a unique ID. Folders use the same structure but have a children array instead of a URL.

Each time Chrome starts, it copies the current Bookmarks file to Bookmarks.bak before loading it. This gives you a one-session rollback window. The backup file is the same JSON format as the live Bookmarks file. Chrome only keeps one .bak file at a time — it is overwritten every launch. If you opened Chrome after deleting a bookmark, the .bak file already reflects the post-deletion state. See the guide on how to restore Chrome bookmarks for the full recovery procedure.

Technically yes, but Chrome must be fully closed first. Chrome writes to the Bookmarks file continuously while it is running, so any edits you make while Chrome is open will be silently overwritten. Beyond that, a single JSON syntax error — a missing comma, an unclosed brace — causes Chrome to treat the file as unreadable and fall back to an empty bookmark list. Always rename the original file as a backup before editing, and validate your JSON before reopening Chrome.

Open Chrome, switch to the profile you want to identify, type chrome://version in the address bar, and press Enter. Look at the Profile Path line — it shows the complete on-disk path for that profile. If you want to map all profiles at once without opening each one, read the Local State file (JSON, no extension) in the root of the User Data folder. Its profile.info_cache section lists every folder alongside its display name and associated Google account email.

The first profile always uses the Default folder. Each additional profile uses a numbered subfolder: Profile 1, Profile 2, Profile 3, and so on. On Windows the second profile is at %LOCALAPPDATA%\Google\Chrome\User Data\Profile 1\Bookmarks. On Mac it is at ~/Library/Application Support/Google/Chrome/Profile 1/Bookmarks. On Linux it is at ~/.config/google-chrome/Profile 1/Bookmarks. The profile folders are numbered in creation order, not usage order, which is why chrome://version is the most reliable way to confirm the path.

No. When sync is on, Chrome still reads from and writes to the local Bookmarks file. Sync uploads a copy of your bookmarks to your Google account in the background, but it does not change the local file's location or format. The on-disk file is always the source of truth for what Chrome displays. Sync adds continuity across devices and a server-side backup, but the local file remains exactly where it always was.

Yes, with Chrome closed on both machines. Copy the Bookmarks file from the source Default folder to the Default folder on the destination machine. If the destination already has bookmarks you want to keep, rename the existing file before replacing it. The safer and more portable method is to export bookmarks as an HTML file from the Bookmark Manager and import on the other machine — HTML exports work across browsers and do not require matching folder paths. See the guide on how to export Chrome bookmarks for full steps.

The User Data folder contains a Local State file at its root (global Chrome settings, profile display names, and account mappings), a CertificateRevocation folder, component updater data, and crash reports. Each profile subfolder (Default, Profile 1, etc.) contains that profile's Bookmarks, Bookmarks.bak, History database, Cookies, Preferences, Extensions, and other profile-specific data. The profile folders are self-contained — you can generally back up or move a single profile folder without affecting others.

Windows hides AppData by default to prevent accidental deletion or modification of files that applications depend on. It is not a security boundary — any program running as your user account can read and write to it. You can make it visible permanently by opening File Explorer, clicking the View tab, and checking Hidden items. You can also always navigate to it without changing visibility settings by pasting %LOCALAPPDATA% or %APPDATA% into the File Explorer address bar.

No. Bookmend is a Chrome extension and uses Chrome's built-in bookmarks API exclusively. It never accesses the raw file on disk. All scanning and cleanup happens inside your browser, and no bookmark data is sent to any external server. This means Bookmend works correctly regardless of which operating system you are on, which profile is active, or where Chrome has stored its data.

Nafiul Hasan
WRITTEN BY

Nafiul Hasan is the founder of Bookmend. He builds tools that fix small, specific frustrations rather than reinvent them — Bookmend started after losing a decade of bookmarked research links to dead pages he couldn't get back. He writes here about link rot, how the Wayback Machine actually works, and what's real versus marketing in the browser-extension space.

Drafted with AI assistance, reviewed and edited by Nafiul Hasan.How we write

FounderChrome extension builderWrites about link rot & bookmarks