See this page for an explanation of the differences between Chromium and Google Chrome. Additionally:
See List of applications/Internet#Blink-based for other browsers based on Chromium.
To set Chromium as the default browser and to change which applications Chromium launches when opening downloaded files, see default applications.
Chromium uses Network Security Services for certificate management. Certificates can be managed in .
The "Local certificates" tab manages server certificates. Certificates added in the "Custom" section are per-profile, and stored in the SQLite database in the profile directory. Certificates in the "Linux" section are read from the NSS Shared DB at , and cannot be modified in this UI. To add to NSS Shared DB, use another tool such as . See #SSL certificates for usage examples.
The "Your certificates" tab manages client certificates. Certificates added here are stored in the NSS Shared DB.
You can put your flags in a file under (or under if you have configured that environment variable) or for global.
No special syntax is used; flags are defined as if they were written in a terminal.
When using Vulkan, the following flags are required and might also be sufficient on Chromium 126 and Mesa 24.1:
without any of the additional flags mentioned above.
To check if it is working play a video which is using a codec supported by your VA-API driver (vainfo tells you which codecs are supported, but Chromium will only support VP9 and h264):
Test on a large enough video. Starting with version 86, Chromium on desktop will only accelerate videos larger than 720p.
You might need to disable the Skia renderer, as it is currently not compatible with video decode acceleration:
If you are using NVIDIA's proprietary driver, running Chromium on Xwayland may cause the GPU process to occasionally crash. To prevent the GPU process from crashing, add the following flags:
See #Making flags persistent for a permanent configuration. The flag is also available via browser flags menu.
This will select wayland Ozone backend when in wayland session, so you can use a single desktop entry if you switch between X11 and Wayland often.
To enable two finger swipe to go back and forward through your history, use the following flags:
To force a scale factor on native Wayland, use the following flags [10]:
The following tips and tricks should work for both Chromium and Chrome unless explicitly stated.
A number of tweaks can be accessed via Chrome URLs. See chrome://chrome-urls for a complete list.
An automatically updated, complete listing of Chromium switches (command line parameters) is available here.
Shift+ESC can be used to bring up the browser task manager wherein memory, CPU, and network usage can be viewed.
If you enabled syncing with a Google Account, then Chromium will override any direct edits to the Preferences file found under . To work around this, start Chromium with the switch:
If Chromium is started in the background when you login in to your desktop environment, make sure the command your desktop environment uses is:
Make sites like wiki.archlinux.org and wikipedia.org easily searchable by first executing a search on those pages, then going to Settings > Search and click the Manage search engines.. button. From there, "Edit" the Wikipedia entry and change its keyword to w (or some other shortcut you prefer). Now searching Wikipedia for "Arch Linux" from the address bar is done simply by entering "w arch linux".
To limit Chromium from writing its cache to a physical disk, one can define an alternative location via the flag:
Cache should be considered temporary and will not be saved after a reboot or hard lock. Another option is to setup the space in :
Alternatively create a symbolic link to . Make sure to delete Chromium's cache folder before you run the command:
Relocate the browser profile to a tmpfs filesystem, including , or for improvements in application response as the entire profile is now stored in RAM.
Use an active profile management tool such as profile-sync-daemon for maximal reliability and ease of use. It symlinks or bind mounts and syncs the browser profile directories to RAM. For more, see Profile-sync-daemon.
When you launch the browser, it first checks if another instance using the same data directory is already running. If there is one, the new window is associated with the old instance. If you want to launch an independent instance of the browser, you must specify separate directory using the parameter:
By default, Chromium downloads files directly and you need to click the notification from the bottom-left corner of the screen in order for the file to be opened with your default torrent client. This can be avoided with the following method:
By default, Chromium uses a separate OS process for each instance of a visited web site. [11] However, you can specify command-line switches when starting Chromium to modify this behaviour.
For example, to share one process for all instances of a website:
The User Agent can be arbitrarily modified at the start of Chromium's base instance via its parameter.
Chromium has a similar reader mode to Firefox. In this case it is called DOM Distiller, which is an open source project. It is disabled by default, but can be enabled using the flag, which you can also make persistent. Not only does DOM Distiller provide a better reading experience by distilling the content of the page, it also simplifies pages for print. Even though the latter checkbox option has been removed from the print dialog, you can still print the distilled page, which basically has the same effect.
After enabling the flag, you will find a new "Enter reader mode" menu item and corresponding icon in the address bar when Chromium thinks the website you are visiting could do with some distilling.
In multi-GPU systems, Chromium automatically detects which GPU should be used for rendering (discrete or integrated). This works 99% of the time, except when it does not - if an unavailable GPU is picked (for example, discrete graphics on VFIO GPU passthrough-enabled systems), will complain about not being able to initialize the GPU process. On the same page below Driver Information there will be multiple GPUs shown (GPU0, GPU1, ...). There is no way to switch between them in a user-friendly way, but you can read the device/vendor IDs present there and configure Chromium to use a specific GPU with flags:
If Firefox is already installed on your computer, you can directly import bookmarks as well as many other things from Firefox.
Make sure Mozilla Firefox is selected. Optionally, you can uncheck some unwanted items here. Click the Import and then Done. You are done with it.
If you import bookmarks from another PC, you have to export bookmarks from Firefox first.
The autoscroll is still an experimental feature [13]. It is intended to be disabled by default if Chromium or Chromium-based browsers are not a development build and is running on a Linux environment. [14]
To enable this feature, launch your browser with the flag. In case you want to make the option persistent, see #Making flags persistent.
Install libfido2 library. This provides the udev rules required to enable access to the U2F key as a user. U2F keys are by default only accessible by root, and without these rules Chromium will give an error.
You can make Chromium use your current GTK theme for browser menus and controls. Simply press Use GTK in .
Since Chromium 114, XDG Desktop Portal is used to automatically determine the user's preferred appearance (issue), thereby dissociating dark mode enablement from the user's GTK theme. This preference will be applied to prefers-color-scheme in CSS, JavaScript, Settings and Dev-Tools.
The way to change the preferred appearance depends on your XDG Desktop Portal backend. For instance, many desktop environments have a switch in their appearance settings. Or when using e.g. xdg-desktop-portal-gtk, set the preferred mode to , or with:
Chromium uses SQLite databases to manage history and the like. Sqlite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve startup and some other bookmarks- and history-related tasks is to defragment and trim unused space from these databases.
profile-cleaner and browser-vacuum do just this.
At the cost of reduced performance, you can disable just-in-time compilation of JavaScript to native code, which is responsible for roughly half of the security vulnerabilities in the JS engine, using the flag .
WebRTC is a communication protocol that relies on JavaScript that can leak one's actual IP address and hardware hash from behind a VPN. While some software may prevent the leaking scripts from running, it is probably a good idea to block this protocol directly as well, just to be safe. As of October 2016, there is no way to disable WebRTC on Chromium on desktop, there are extensions available to disable local IP address leak, one is this extension.
Now users may manually import a self-signed certificate.
Below is a simple script that will extract and add a certificate to the user's :
The firefox browser can be used to save the certificate to a file for manual import into the database.
Canvas fingerprinting is a technique that allows websites to identify users by detecting differences when rendering to an HTML5 canvas. This information can be made inaccessible by using the flag.
To confirm this is working run this test and make sure "hash of canvas fingerprint" is reported as undetermined in the full results.
By default Chromium auto-detects which password store to use, which can lead to you apparently losing your passwords and cookies when switching to another desktop environment or window manager.
When using a password store of another desktop environment you probably also want to unlock it automatically. See GNOME/Keyring#Using the keyring and KDE Wallet#Unlock KDE Wallet automatically on login.
Chromium supports the hybrid post-quantum key exchange X25519Kyber768 for TLS 1.3 since version 155 [17]. This feature is disabled by default, but can be enabled using the flag.
You can open any website in a tabless window intended for Progressive Web Apps:
You need to use a correct full URL. This could be combined with to split configs. Local html file is also used at native application with .
Chromium will use the GTK settings as described in GTK#Configuration. When configured, Chromium will use the setting for tabs (which may mismatch window font size). To override these settings, use .
Since Chrome Refresh 2023 became default, GNOME users with Cantarell font may notice some characters (like lowercase g) cut off in the tab title. See the issue on chromium.org.
Until the issue resolved, a workaround is to replace Cantarell with another font using a configuration based on Font configuration#Set default or fallback fonts, e.g.
This configuration will apply only if process name matches. You can use for Google Chrome.
There is the possibility that your graphics card has been blacklisted by Chromium. See #Force GPU acceleration.
If you are using Chromium with Bumblebee, WebGL might crash due to GPU sandboxing. In this case, you can disable GPU sandboxing with .
Visit for debugging information about WebGL support.
Chromium can save incorrect data about your GPU in your user profile (e.g. if you use switch between an Nvidia card using Optimus and Intel, it will show the Nvidia card in even when you are not using it or primusrun/optirun). Running using a different user directory, e.g, may solve this issue. For a persistent solution you can reset the GPU information by deleting .
When native Wayland support is enabled, Chromium will automatically scale based on the configured scale of each monitor.
See GNOME/Keyring#Passwords are not remembered.
If synchronization is not working for password only (you can check it on ) delete profile login data:
See Google Chrome Help forum for details.
If you see the message in the terminal when you start Chromium, it might try to use the wrong password storage backend. This might happen when you switch between Desktop Environments.
If you are using KDE and have once set Firefox as the default browser (by clicking the button inside Firefox), you might find Chromium asks to be set as the default browser every time it starts, even if you click the "set as default" button.
Chromium checks for this status by running . If the output is "no", it is not considering itself to be the default browser. The script checks for the following MIME associations and expect all of them to be :
As of 2020.04.20 if you run chromium with flag for web development, you cannot log in to your Google account. Temporarily disable this flag to login and then you can enable it back.
Upstream bug report about the general issue which may contain some additional workarounds can be found here, and a sister issue about mixed refresh rates here.
When using displays with mixed refresh rates(for example 60Hz and 144Hz), Chromium might render for the lower Hz display.
There is a suitable workaround for this issue, append the following flags to persistent configuration:
This should make Chromium run at 144 FPS when used on a 144Hz display, assuming your compositor is also refreshing at 144 FPS. Keep in mind it might be a little choppy due to FS#67035, but it is way better than being stuck at 60 FPS.
There seem to be Wayland compositor-specific problems that trigger this issue. Notably, Plasma 5 seems to only ever render on 60Hz no matter the setup, but Plasma 6(rc1, at the time of writing) makes Chromium work flawlessly on high refresh rates.
A workaround may be to switch to the XWayland backend if all else fails.
Mouse whell scrolling in chromium and electron based applications may be too slow for daily usage. Here are some solutions.
Libinput#Mouse wheel scrolling speed scaling injects function in libinput and provides an interface to change scale factor. This is not an application level injection, so an addition script for application specific scale factor tuning is needed. Note that scroll on chromium's small height developer tools may be too fast when scale factor is big enough.
IMWheel increases scroll distance by replaying X wheel button event for multiple times. However, chromium assumes the real scroll and the replayed ones as two events. There is a small but noticeable delay between them, so one mouse wheel scroll leads to twice page jumps. Also, touchpad scroll needs additional care.
Linux Scroll Speed Fix and SmoothScroll are two chromium extensions with support for scroll distance modification. Upon wheel scroll in a web page, the closest scrollable ancestor of current focused node will be found, then a scroll method with given pixel distance will be called on it, even if it has been scrolled to bottom. So once you scroll into a text editor or any scrollable element, you can never scroll out of it, except moving mouse. Also, extension based methods can not be used outside chromium.
This may be a PulseAudio issue. See the suggested fix in PulseAudio/Troubleshooting#Browsers (firefox) load videos but do no play.
The stored password database can become corrupted and in need of getting rebuilt. Doing so will destroy all data therein/lose stored passwords.
Launch chromium from a terminal and look for output like:
Exit chromium and then delete these three database files:
Launching chromium again should re-create them.
See KDE#Plasma cursor sometimes shown incorrectly.
Due to a bug, chromium 124 must be started with the explicit command line flag .
Due to a bug, you may see the below in your log when launching from terminal, especially with hardware acceleration enabled on Wayland:
Due to extensions which define global shortcuts (such as obsidian web clipper), the gnome "Global Shortcuts" appears at startup. This is described in https://github.com/brave/brave-browser/issues/44886 and can be fixed by adding this flag:
Due to a bug the "Compose" key does not work in recent versions of chromium. This becomes apparent when user tries to type in special characters such as '@' or umlauts anywhere in the browser. The special key combinations utilizing the compose key (for example 'ALT GR') work in all applications except chromium. This issue is most likely related to gtk and cannot be resolved by switching between Wayland and X11. It is described at https://issues.chromium.org/issues/327158031 and can be fixed by adding this flag: