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.
| Method | Source | Updates | Best For |
|---|---|---|---|
| extrepo | Google APT Repository | Automatic via APT | Most users; handles GPG keys automatically |
| Manual | Google APT Repository | Automatic via APT | Scripted 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
sudofor 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
.sourcesformat by default, while Debian 12 and 11 commonly used legacy.listfiles in older documentation. The.sourcesformat 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):
- Click Activities in the top-left corner
- Type “Chrome” in the search field
- 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-chromefirst 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
.listfile. 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
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.
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.
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.
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.
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.
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.
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.
Thanks a lot.
Your explanations work perfectly for debian 13 trixie.
Thanks again
Can this instruction be use for Debian 13?
Hi JQ,
Yes it can be used to install Google Chrome with Debian 13 Trixie release.
Can I have an instruction for debian 13? I tried to download from google chrome and after install it freeze after a while of use. Thanks
Great, I have Google on my debian 12.