How to Install Google Chrome on Debian (13, 12, 11)

Last updated Friday, February 27, 2026 1:13 pm Joshua James 12 min read 5 comments

Google Chrome ships proprietary codecs, a built-in PDF viewer, and seamless Google account sync that open-source Chromium leaves out. To install Google Chrome on Debian 13 (Trixie), 12 (Bookworm), or 11 (Bullseye) you add Google’s APT repository through Debian’s extrepo tool or a manual configuration, then install and update with standard apt commands. There is no need to download a .deb file manually; the repository approach handles everything.

The same repository provides stable, beta, developer, and canary channels that each install as a separate application you can run side by side. Chrome’s installer also creates a duplicate repository file that triggers APT warnings, and cleaning that up takes a single command.

Google Chrome Installation Methods for Debian

Debian has two paths for getting Google Chrome onto your system. The extrepo method handles GPG key management automatically, while manual configuration gives you full control over the repository file. Both install Chrome from the same Google repository and receive identical updates.

MethodSourceUpdatesBest For
extrepoGoogle APT RepositoryAutomatic via APTMost users; handles GPG keys automatically
ManualGoogle APT RepositoryAutomatic via APTScripted deployments or learning APT internals

For most users, the extrepo method is the better choice because it simplifies GPG key management and repository maintenance. The manual method requires downloading the signing key yourself but gives you full visibility into how the repository is configured.

These instructions work on Debian 13 (Trixie), Debian 12 (Bookworm), and Debian 11 (Bullseye). Google Chrome is only available for 64-bit (amd64) systems. Chrome is not available via Flatpak or Snap; if you need a sandboxed Chromium-based browser, install Chromium on Debian from Flathub instead.

Choose one installation method only. Both methods configure the same Google APT repository with different signing key paths, and having both active at once causes “Conflicting values set for option Signed-By” errors during apt update.

Install Google Chrome on Debian Using extrepo

Debian’s extrepo tool manages third-party APT repos on Debian and their GPG keys automatically. This method requires enabling extrepo’s non-free policy first, since Google Chrome is proprietary software.

Install and Configure extrepo for Google Chrome

Update your package list and install the extrepo package. The -y flag confirms the installation automatically:

sudo apt update
sudo apt install extrepo -y

All commands in this guide use sudo for administrative privileges. If your user account is not in the sudoers file, add a user to sudoers on Debian before continuing.

Debian’s repository database classifies Google Chrome as non-free software. Enable the non-free policy so extrepo can add the Chrome repository (for more on non-free configuration, see enabling contrib and non-free repos on Debian):

sudo sed -i 's/# - non-free/- non-free/' /etc/extrepo/config.yaml

This command uncomments the non-free line in extrepo’s configuration file, enabling repositories that host proprietary software.

Enable the Google Chrome Repository

Add the Google Chrome repository to your system:

sudo extrepo enable google_chrome
sudo apt update

Install Google Chrome:

sudo apt install google-chrome-stable -y

Google’s installer creates legacy .list repository files that conflict with extrepo’s .sources configuration. Remove these duplicate files to prevent “Conflicting values set for option Signed-By” errors during future updates:

sudo rm -f /etc/apt/sources.list.d/google-chrome*.list
sudo apt update

The .list files only appear during fresh installations. Regular Chrome updates through APT do not recreate them, so this cleanup is a one-time step.

Verify Google Chrome Installation on Debian

Confirm Chrome installed correctly by checking the version:

google-chrome-stable --version
Google Chrome 145.0.7632.116

Your version number reflects the current stable release at the time of installation. Chrome is ready to launch from your application menu, and the beta, developer, and canary channels are covered further down.

Install Google Chrome on Debian Manually

Manual repository configuration gives you complete control over the GPG key location and repository file. This approach works well for scripted deployments or when you want to understand exactly how APT internals handle third-party sources.

Google publishes Chrome for 64-bit (amd64) Debian systems only. If you’re running a 32-bit installation, install Firefox on Debian or install Chromium on Debian instead.

Install Required Packages for Google Chrome

Install the packages needed for secure repository configuration:

sudo apt update
sudo apt install ca-certificates curl gpg -y

These packages provide HTTPS certificate verification, the curl utility for downloading files, and GPG for handling the repository signing key.

Import Google Chrome’s Signing Key

Download Google’s public key and convert it to the binary format APT requires:

curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg

The --dearmor option converts the ASCII-armored key to binary format. Storing the key in /usr/share/keyrings/ follows Debian’s recommended practice for third-party repository keys.

Create the Google Chrome Repository Configuration

Add the Google Chrome repository using the DEB822 format, which all current Debian versions support:

cat <<EOF | sudo tee /etc/apt/sources.list.d/google-chrome.sources
Types: deb
URIs: https://dl.google.com/linux/chrome/deb/
Suites: stable
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/google-chrome.gpg
EOF

This creates a .sources file that explicitly links the repository to its signing key, preventing the security warnings that occur with unsigned repositories. The tee command writes the file with root privileges since regular shell redirection (>) does not carry sudo permissions.

Debian 13 uses the DEB822 .sources format by default, while Debian 12 and 11 commonly used legacy .list files in older documentation. The .sources format works on all three versions and provides clearer syntax.

Verify the Google Chrome Repository on Debian

Update your package list and confirm the repository is working:

sudo apt update
apt-cache policy google-chrome-stable
google-chrome-stable:
  Installed: (none)
  Candidate: 145.0.7632.116-1
  Version table:
     145.0.7632.116-1 500
        500 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages

The Candidate line shows the latest available Chrome version from Google’s repository. If the output shows (none) for the candidate, the repository was not added correctly.

Install Google Chrome with APT

Install Chrome now that the repository is configured:

sudo apt install google-chrome-stable -y

Verify the installation:

google-chrome-stable --version
Google Chrome 145.0.7632.116

Install Google Chrome Beta, Dev, and Canary Channels on Debian

Google provides three additional channels for users who want early access to new features. You can install these alongside the stable version; each channel appears as a separate application in your menu.

Beta channel receives updates before stable and undergoes significant testing. Suitable for users who want new features a few weeks early with reasonable stability:

sudo apt install google-chrome-beta -y

Unstable (Dev) channel receives updates first with minimal testing. Expect occasional bugs and breaking changes:

sudo apt install google-chrome-unstable -y

Canary channel updates daily with the latest development code. This build is for developers testing bleeding-edge features and may crash or break regularly:

sudo apt install google-chrome-canary -y

Check the version of any installed channel:

google-chrome-beta --version
google-chrome-unstable --version
google-chrome-canary --version

Track what changes in each release on the Chrome Developer Release Notes page.

Launch Google Chrome on Debian

After installation, Chrome appears in your desktop environment’s application menu. On GNOME (Debian’s default desktop):

  1. Click Activities in the top-left corner
  2. Type “Chrome” in the search field
  3. Click the Google Chrome icon to launch

If you installed multiple channels, each appears with its channel name (Google Chrome, Google Chrome Beta, Google Chrome Unstable).

Complete Google Chrome First Launch Setup on Debian

Chrome presents several optional configuration prompts on first launch. None of these are required to use the browser.

Handle the Chrome Keychain Password Prompt

On desktop systems with GNOME Keyring or a similar secret service, Chrome may ask you to set or enter a keychain password. This secures saved passwords and authentication tokens.

  • Enter a password to enable secure credential storage
  • Click “Cancel” to skip keychain integration (passwords will still work but won’t be encrypted at rest)

This prompt only appears on systems with a graphical desktop environment and secret service. Minimal installations and servers won’t see it.

Set Google Chrome as Default Browser on Debian

Chrome asks whether to become your default browser. Click “Set as Default” to have system links open in Chrome, or dismiss the prompt to keep your current default (typically Firefox on fresh Debian installations).

Configure Chrome Usage Statistics

Chrome offers to send anonymous usage statistics and crash reports to Google. This is entirely optional. Check the box if you are comfortable sharing this data, or leave it unchecked to opt out.

Sign In to Google Chrome

Signing in syncs bookmarks, history, passwords, and settings across your devices. This is optional; click the “X” on the sign-in tab to skip and use Chrome without an account.

Update Google Chrome on Debian

The repository you configured delivers Chrome updates through your regular APT workflow. No separate update mechanism is needed.

Update all packages including Chrome:

sudo apt update
sudo apt upgrade

Update only Chrome without touching other packages:

sudo apt update
sudo apt install --only-upgrade google-chrome-stable

Replace google-chrome-stable with google-chrome-beta, google-chrome-unstable, or google-chrome-canary to update other installed channels. Google announces stable releases on the Chrome Release Blog. If you want Chrome (and everything else) to update unattended, see configuring unattended upgrades on Debian.

Uninstall Google Chrome from Debian

Remove Chrome completely from your system when you no longer need it. The process differs slightly depending on which installation method you used.

Remove Chrome Packages from Debian

Uninstall the Chrome packages for any channels you installed:

sudo apt purge google-chrome-stable google-chrome-beta google-chrome-unstable google-chrome-canary
sudo apt autoremove --purge

APT ignores packages that aren’t installed, so running this command with all channel names is safe even if you only installed stable.

Remove the Chrome Repository Configuration

If you used the manual method:

sudo rm -f /etc/apt/sources.list.d/google-chrome.sources /etc/apt/sources.list.d/google-chrome.list
sudo rm -f /usr/share/keyrings/google-chrome.gpg

If you used extrepo:

sudo extrepo disable google_chrome

Or remove the extrepo-managed repository file directly:

sudo rm -f /etc/apt/sources.list.d/extrepo_google_chrome.sources

Refresh APT and verify the repository is gone:

sudo apt update
apt-cache policy google-chrome-stable

The command produces no output when the package is completely unknown, confirming the repository was removed.

Remove Chrome User Data

The following commands permanently delete your Chrome profile, including bookmarks, saved passwords, extensions, and browsing history. Back up ~/.config/google-chrome first if you want to preserve this data.

rm -rf ~/.config/google-chrome*
rm -rf ~/.cache/google-chrome*
rm -rf ~/.local/share/applications/google-chrome*.desktop

After these commands, Chrome is completely removed with no residual configuration or cache files.

Fix Duplicate Google Chrome Repository Warnings on Debian

Installing multiple Chrome channels or switching between installation methods can create duplicate repository entries. When apt update encounters these duplicates, it displays warnings about conflicting configurations.

Identify Duplicate Chrome Repository Files

List all Chrome-related repository files:

ls -la /etc/apt/sources.list.d/*google*chrome* /etc/apt/sources.list.d/extrepo_google* 2>/dev/null || echo "No Chrome repository files found"

A properly configured system has exactly one Chrome repository file (either .sources or .list format, not both). Multiple files indicate duplicate entries.

With duplicates present, apt update shows warnings like:

W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/google-chrome.list:1 and /etc/apt/sources.list.d/google-chrome.sources:1

Remove Duplicate Chrome Repository Files

The safest approach is removing all Chrome repository files and recreating a single clean entry:

sudo rm -f /etc/apt/sources.list.d/google-chrome* /etc/apt/sources.list.d/extrepo_google_chrome*

Chrome remains installed; only the repository configuration is removed. Recreate the repository using the DEB822 format:

cat <<EOF | sudo tee /etc/apt/sources.list.d/google-chrome.sources
Types: deb
URIs: https://dl.google.com/linux/chrome/deb/
Suites: stable
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/google-chrome.gpg
EOF

Verify the fix:

sudo apt update

The update should complete without duplicate repository warnings.

Prevent Future Chrome Repository Duplicates on Debian

Google’s installer creates a google-chrome.list file during fresh installations. If you already have a .sources file configured, remove the redundant .list after each fresh install:

sudo rm -f /etc/apt/sources.list.d/google-chrome.list

Regular package updates do not recreate the .list file. This cleanup is only needed after a fresh Chrome installation or reinstallation.

Troubleshoot Google Chrome Issues on Debian

Fix Chrome GPG Key Errors on Debian

If apt update reports signature verification failures:

Err:1 https://dl.google.com/linux/chrome/deb stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB4C1BFD4F042F6D

Re-download and install the signing key:

curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
sudo apt update

Fix Missing Chrome Libraries on Minimal Debian Systems

Chrome requires graphical libraries that may be missing on minimal or server installations. If Chrome fails with errors about missing .so files:

error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file

Install missing dependencies:

sudo apt install --fix-broken

If issues persist, reinstall Chrome to trigger full dependency resolution:

sudo apt install --reinstall google-chrome-stable

Run Google Chrome on Headless Debian Servers

Chrome requires a display server to run normally. On servers without a graphical environment, you’ll see:

[ERROR:ozone_platform_x11.cc(240)] Missing X server or $DISPLAY

For automation tasks like generating PDFs, taking screenshots, or web scraping, use Chrome’s headless mode. This runs Chrome without a visible window, performing browser operations entirely in the background:

google-chrome-stable --headless --disable-gpu --print-to-pdf=output.pdf https://example.com

The --headless flag renders pages without a visible window, and --print-to-pdf saves the result as a PDF file in your current directory.

Frequently Asked Questions About Google Chrome on Debian

Is Google Chrome available in Debian’s default repositories?

No. Google Chrome is proprietary software and is not included in Debian’s main, contrib, or non-free repositories. To install Chrome, you must add Google’s official APT repository using either the extrepo method or manual command line configuration. Once added, Chrome receives updates through your regular system updates.

What is the difference between Google Chrome and Chromium on Debian?

Chromium is the open-source project that Chrome is built on. Google Chrome adds proprietary components including automatic updates, certain media codecs (AAC, H.264), PDF viewer integration, and Google account sync features. Chromium is available directly from Debian’s repositories or as a Flatpak, while Chrome requires Google’s external repository.

Why does Chrome create duplicate repository files on Debian?

Google’s installer automatically creates a .list repository file during installation. If you already configured the repository manually using the .sources format (or via extrepo), both files point to the same repository, causing duplicate warnings during apt update. Remove the redundant .list file with sudo rm -f /etc/apt/sources.list.d/google-chrome.list to resolve this.

Can I install Google Chrome using apt install on Debian?

Not directly. Running apt install google-chrome-stable fails until you add Google’s APT repository to your system. Use the extrepo method (sudo extrepo enable google_chrome) or the manual repository setup described above, then apt install google-chrome-stable works normally.

Can I download Chrome as a .deb file instead of using a repository on Debian?

Google offers a .deb download at google.com/chrome, and installing it with dpkg -i automatically adds the APT repository for future updates. However, configuring the repository directly (extrepo or manual) is cleaner because it avoids the duplicate .list file that the .deb installer creates and lets APT handle the entire process.

Does Google Chrome work on Debian 13 (Trixie)?

Yes. Google Chrome fully supports Debian 13 (Trixie) using the same installation steps as Debian 12 and 11. Both the extrepo method and manual repository configuration work identically across all three releases. The Google APT repository provides the same Chrome packages regardless of your Debian version.

How do I install Google Chrome from the Debian command line?

Install extrepo with sudo apt install extrepo -y, enable non-free repos with sudo sed -i 's/# - non-free/- non-free/' /etc/extrepo/config.yaml, then run sudo extrepo enable google_chrome && sudo apt update && sudo apt install google-chrome-stable -y. This adds Google’s repository and installs Chrome entirely from the terminal.

Conclusion

Google Chrome is running on your Debian system with automatic security updates through apt upgrade. Each installed channel (stable, beta, dev, canary) runs independently, so you can preview upcoming features without affecting your daily browser. For alternatives, try installing Chromium on Debian for a fully open-source option or installing Brave on Debian for built-in ad blocking. Installing Vivaldi on Debian offers deep tab and sidebar customization, and installing Firefox on Debian provides a completely independent rendering engine.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffee Buy me a coffee

5 thoughts on “How to Install Google Chrome on Debian (13, 12, 11)”

Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Leave a Comment

We read and reply to every comment - let us know how we can help or improve this guide.

Let us know you are human: