This guide walks through installing Google Chrome on Debian, giving you automatic security updates and access to stable, beta, or developer builds. Whether you need Chrome for web development testing, accessing Google Workspace apps, or browsing sites that work best with Chromium-based browsers, the methods below ensure your installation stays current without manual downloads.
By the end, you’ll have Google Chrome running on Debian with proper repository configuration and the knowledge to update, manage, and remove the browser. The guide also covers troubleshooting duplicate repository warnings that can occur when switching between Chrome channels.
Choose Your Google Chrome Installation Method
Debian offers two approaches for installing Google Chrome: Debian’s extrepo tool or manual repository configuration. Both methods provide identical results, so choose based on your preference for convenience versus control.
| Method | Channel | Version | GPG Key Management | Best For |
|---|---|---|---|---|
| extrepo | Google APT Repository | Latest stable | Automatic | Most users; quick setup with minimal configuration |
| Manual Repository | Google APT Repository | Latest stable | Manual download | Scripted deployments or learning APT internals |
For most users, the extrepo method is recommended because it handles GPG key management automatically and simplifies repository maintenance. The manual method requires more steps but gives you full control over the configuration.
Install Google Chrome Using extrepo (Recommended)
Debian’s extrepo tool provides the simplest way to install Google Chrome. This method handles GPG key management automatically and makes future repository maintenance easier.
Install and Configure extrepo
First, update your package list and install the extrepo package:
sudo apt update
sudo apt install extrepo -y
Google Chrome is classified as non-free software in Debian’s repository database. Before enabling the Chrome repository, you must enable the non-free policy in extrepo’s configuration:
sudo sed -i 's/# - non-free/- non-free/' /etc/extrepo/config.yaml
This command uncomments the non-free policy line in the extrepo configuration file, allowing you to enable repositories that host proprietary software.
Enable the Google Chrome Repository and Install
With the non-free policy enabled, add the Google Chrome repository and update your package list:
sudo extrepo enable google_chrome
sudo apt update
Now install Google Chrome using the standard APT command:
sudo apt install google-chrome-stable
After installation completes, skip to the “Install Your Preferred Google Chrome Channel” section to verify the installation or install beta/dev builds.
Alternative: Install Google Chrome Manually
If you prefer full control over the repository configuration, or if you’re working with scripted deployments, you can configure the Google Chrome repository manually. This approach requires downloading the GPG key and creating the repository file yourself.
Google publishes Chrome for 64-bit (amd64) Debian systems only. If you run a 32-bit installation, use an alternative browser such as Chromium or Firefox.
Install Prerequisites
First, update your package list and install the packages necessary for adding the Google Chrome repository:
sudo apt update
sudo apt install ca-certificates curl gnupg -y
These packages handle HTTPS connections, provide the GPG (GNU Privacy Guard) tooling required for the key import, and include the curl utility to download the repository signing key.
Import Google’s Repository Signing Key
Next, download Google’s public key and store it in the system keyring directory:
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
This command downloads Google’s public key, converts it to binary format, and stores it in the system keyring directory. Your system can now verify and trust Google Chrome repository packages during installation and updates.
Create the Google Chrome Repository File
Once the GPG key is imported, add the Google Chrome repository to your system using the modern 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
All current Debian releases (Debian 11 Bullseye, Debian 12 Bookworm, and Debian 13 Trixie) fully support the DEB822
.sourcesformat. Debian 13 uses it by default, while Debian 11 and 12 commonly used the legacy.listformat in older documentation.
Refresh Package Lists and Verify
After adding the repository, refresh your system’s package list:
sudo apt update
Confirm the repository is correctly configured by checking the package source:
apt-cache policy google-chrome-stable
The output should show the Google repository as the package source:
google-chrome-stable:
Installed: (none)
Candidate: 131.x.x-1
Version table:
131.x.x-1 500
500 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages
The version number shown above is a placeholder. Your output will display the current Chrome release version available from Google’s repository.
Install Your Preferred Google Chrome Channel
With the repository configured and package list updated, you’re now ready to install Google Chrome. Depending on your preference, you can install the stable, beta, or unstable (dev) version. The stable version is recommended for most users, while beta and unstable versions provide early access to experimental features.
Install the Stable Channel
Generally, the stable version is recommended for most users due to its reliability and thorough testing. To install it, run the following command:
sudo apt install google-chrome-stable
In practice, this installs the stable release channel, which receives updates after thorough testing by Google’s quality assurance teams.
Install Beta or Dev Builds
Alternatively, if you prefer to explore experimental features, you can install the beta or unstable (developer) versions. However, these versions include the latest features but are less stable for daily use.
To install the beta version, run:
sudo apt install google-chrome-beta
To install the unstable (developer) version, run:
sudo apt install google-chrome-unstable
The unstable channel provides the earliest access to new features but may contain bugs and stability issues unsuitable for production environments.
Verify the Installation
Verify the browser is correctly installed by checking the version of the channel you installed. For example, if you installed the stable version:
google-chrome-stable --version
Google Chrome 131.x.x
For the beta version:
google-chrome-beta --version
For the unstable version:
google-chrome-unstable --version
Run only the version you installed. The version number in your output will reflect the current Chrome release. When ready to launch Chrome, use the application menu in the next section or run the command without --version.
Launch Google Chrome from the Desktop Menu
If you prefer the graphical interface, launch Chrome through your desktop environment’s application menu. The method depends on your desktop environment. For GNOME (the default on Debian):
- Click on Activities in the top-left corner of the desktop.
- Select Show Applications to display all installed applications.
- Search for Google Chrome. The version installed (stable, beta, or unstable) will be indicated in the application name.
- Click the Google Chrome icon to launch the browser.
For other desktop environments (KDE, XFCE, MATE), use your environment’s application launcher or menu.

Customize Google Chrome During First Launch
When you open Google Chrome for the first time on Debian, several prompts help configure the browser for your preferences. These initial setup steps are optional but personalize your browsing experience.
Respond to the Keychain Password Prompt
During the initial launch, Google Chrome may prompt you to set up a keychain password. This step is optional but recommended to secure your saved passwords for websites and applications.
The keychain prompt only appears on desktop systems with GNOME Keyring or a similar secret service installed. You won’t see this prompt on minimal installations or systems without a graphical environment.
- Enter your desired password or the system password when prompted.
- Dismiss the prompt by clicking “Cancel” if you don’t need keychain protection.
Set Chrome as Default Browser (Optional)
Chrome will ask whether you’d like to make it the default browser. To streamline your browsing experience, you can enable this option:
- Click “Set as Default” to replace your current default browser (usually Firefox on Debian).
- Skip this step by closing the prompt if you prefer to keep your current default.

Control Chrome Usage Data Sharing
Chrome will display an option to send usage statistics and crash reports to Google. This data helps improve Chrome. Participation is optional; select or deselect the checkbox based on your privacy preferences.

Sign In to Sync Chrome Data (Optional)
Finally, Chrome allows you to sign in with your Google account to sync bookmarks, history, and settings across devices. This is optional, and you can skip it by clicking the “X” in the sign-in tab.
Once you’ve completed these initial setup steps, Chrome is ready for use. You can start exploring its features, install extensions, and customize the interface to fit your workflow.

Keep Google Chrome Updated on Debian
Keeping Google Chrome updated ensures access to the latest features, security improvements, and bug fixes. The APT repository you configured earlier handles Chrome updates automatically alongside your system packages.
Refresh Package Lists for Available Updates
First, refresh your system’s package list by running the following command:
sudo apt update
Then, update all upgradable packages, including Google Chrome:
sudo apt upgrade
Upgrade Only Google Chrome (Optional)
Alternatively, if you only want to update Google Chrome without upgrading other packages, use the following command for the channel installed on your system:
Run this command to update the stable channel only:
sudo apt install --only-upgrade google-chrome-stable
Use the following command for the beta channel:
sudo apt install --only-upgrade google-chrome-beta
When working with the unstable (dev) build, run:
sudo apt install --only-upgrade google-chrome-unstable
This targeted approach upgrades only Chrome, leaving other system packages at their current versions until you choose to update them.
Uninstall Google Chrome and Clean Up Its Repository
If you no longer need Google Chrome, you can completely remove it from your Debian system along with its repository configuration.
Remove the Chrome Packages
Use the appropriate command based on the version you installed. For the stable version:
sudo apt purge google-chrome-stable
For the beta version:
sudo apt purge google-chrome-beta
For the unstable version:
sudo apt purge google-chrome-unstable
Then, remove unused dependencies:
sudo apt autoremove --purge
Delete the Repository Files
After uninstalling Chrome, clean up your package manager by removing the repository files. The method depends on how you installed Chrome.
If you used the manual repository 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
Alternatively, remove the extrepo-created repository file completely:
sudo rm -f /etc/apt/sources.list.d/extrepo_google_chrome.sources
Refresh your package lists after removing the repository:
sudo apt update
Verify the repository is no longer active:
apt-cache policy google-chrome-stable
If removal succeeded, you will see output confirming the package is unavailable:
N: Unable to locate package google-chrome-stable
Remove User Data (Optional)
Warning: The following commands permanently delete your Chrome profile data, including bookmarks, saved passwords, extensions, and browsing history. If you want to preserve this data for a future Chrome reinstallation, skip this step or back up the directories first.
To completely remove all Chrome data from your home directory:
rm -rf ~/.config/google-chrome*
rm -rf ~/.cache/google-chrome*
rm -rf ~/.local/share/applications/google-chrome*.desktop
After running these commands, Google Chrome is fully removed from your system with no residual configuration or cache files.
Fix Duplicate Google Chrome Repository Entries on Debian
Over time, managing multiple versions of Google Chrome, such as stable, beta, and unstable, can create conflicts in your package manager. This issue arises when each version generates its own source list file in the /etc/apt/sources.list.d/ directory, leading to duplicate entries during an apt update. As a result, these duplicates can cause errors and prevent successful updates.
Detect Duplicate Repository Files
First, check if you have duplicate Chrome repository entries. Run this command to list all Chrome-related repository files:
ls -la /etc/apt/sources.list.d/google-chrome* 2>/dev/null || echo "No Chrome repository files found"
If you see multiple files (such as google-chrome.list, google-chrome-beta.list, google-chrome.sources), you have duplicate entries. A single file is normal. If you see “No Chrome repository files found,” Chrome’s repository was never configured or was already removed.
When running sudo apt update with duplicates present, you’ll see warnings like this:
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 W: Target Packages (main/binary-all/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
Therefore, these warnings indicate the same repository is defined in multiple files, causing APT to process duplicate entries unnecessarily.

Remove Repository Files for Unused Channels
Next, remove the repository files for Chrome versions you don’t use. Chrome installers automatically create these files, and each version (stable, beta, unstable) creates its own entry. If you only use the stable version, remove the others.
Remove beta version repository:
sudo rm /etc/apt/sources.list.d/google-chrome-beta.list
Remove unstable version repository:
sudo rm /etc/apt/sources.list.d/google-chrome-unstable.list
After removing unwanted repository files, verify the warnings are gone:
sudo apt update
If you still see duplicate warnings, you likely have both .list and .sources formats pointing to the same repository. In that case, move on to the clean-slate approach.
Remove All Chrome Repository Files
If the previous cleanup didn’t resolve the warnings, or if you’re unsure which files are causing conflicts, remove all Chrome repository files and start fresh. This approach works when you have mixed .list and .sources formats or leftover files from previous installations.
sudo rm /etc/apt/sources.list.d/google-chrome*
This command removes all Chrome repository files regardless of format. Chrome remains installed, and only the repository configuration is deleted. Recreate the repository in the following subsection.
Recreate a Single Repository Entry
After cleaning up duplicate files, recreate the Chrome repository using one format only. Choose based on your Debian version and avoid mixing formats.
Recreate the Chrome repository using the modern DEB822 format, which works on all current Debian versions:
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
Update your package list and verify no warnings appear:
sudo apt update
If the update completes without duplicate repository warnings, the issue is resolved. Chrome will continue receiving updates through this single, properly configured repository file.
Prevent Duplicate Warnings After Installation
Chrome’s installer creates a google-chrome.list file during installation, even when you use the DEB822 .sources format. Remove the redundant file:
sudo rm /etc/apt/sources.list.d/google-chrome.list
Verify the fix resolved the warnings:
sudo apt update
Regular package upgrades (
apt upgrade) do not regenerate this file. Only a fresh install or reinstall would recreate it, so this is a one-time fix.
Troubleshoot Common Google Chrome Issues on Debian
If you encounter problems during installation or when running Chrome, the following solutions address the most common issues.
GPG Signature Verification Fails
If apt update reports GPG signature errors for the Chrome repository, the key may be corrupted or missing. You will see errors similar to:
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 key to fix this issue:
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
After re-importing the key, run sudo apt update again. The error should no longer appear.
Missing Shared Libraries or Dependencies
Chrome requires graphical libraries that may not be installed on minimal or server systems. If you see errors about missing .so files, such as:
error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory
Run the following command to install missing dependencies:
sudo apt install --fix-broken
For persistent dependency issues, reinstall Chrome to trigger dependency resolution:
sudo apt install --reinstall google-chrome-stable
Chrome Fails to Start on Server Systems
Google Chrome is a desktop application that requires a display server. On headless systems without a graphical environment, Chrome will fail with an error like:
[4285:4285:0101/120000.000000:ERROR:ozone_platform_x11.cc(240)] Missing X server or $DISPLAY
For server environments requiring a browser for automation tasks, run Chrome in headless mode:
google-chrome-stable --headless --disable-gpu --print-to-pdf=output.pdf https://example.com
Helpful Resources for Google Chrome on Debian
Enhance your Google Chrome experience on Debian Linux with these helpful resources:
- Google Chrome Release Blog: Find updates on the latest stable, beta, and developer Chrome versions to stay current with new features.
- Chrome Developer Release Notes: Learn about the latest changes, fixes, and developer-focused updates in each release.
- Google Chrome Help Center: Get answers to common questions, troubleshoot issues, and explore official guides to optimize your browser.
- Chrome Web Store: Customize your browsing experience with extensions, apps, and themes designed for Google Chrome.
These links provide everything you need, from updates to customization, ensuring a smooth and productive experience with Google Chrome on Debian Linux.
Key Takeaways for Google Chrome on Debian
You now have Google Chrome configured with Google’s official APT repository, receiving automatic security updates alongside your system packages. Whether you chose the recommended extrepo method for simplicity or the manual approach for full control, both provide identical functionality. The troubleshooting section covers the duplicate repository warnings that commonly affect users who switch between Chrome channels.
To build on this setup, consider installing Chromium on Debian as an open-source alternative for testing, or explore Brave Browser on Debian for privacy-focused browsing with the same Chromium engine. For additional browser options, Vivaldi on Debian offers extensive customization, while 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.