Zen Browser is an open-source web browser built on the Firefox engine. It is designed to provide a minimalist, distraction-free environment that prioritizes your workflow.
1Password simplifies credential management. By pairing the 1Password desktop app with Zen Browser, you can enjoy a much more seamless login experience. Note that this specific desktop integration guide applies only to Linux and macOS. Windows users do not require these steps; the standard browser extension handles the connection automatically.
1Password’s full desktop integration typically only supports widely recognized or "trusted" browsers. When active, the desktop app and browser extension share a secure connection to sync your vault and lock state, allowing you to unlock the extension using biometrics.
On Linux, you must manually create an "allowed-browsers" file to let 1Password recognize Zen. This allows the application to communicate with Zen even though it is not yet officially supported.
Create the 1Password configuration directory:
sudo mkdir /etc/1password
Create the custom allowed browsers file:
sudo touch /etc/1password/custom_allowed_browsers
Add Zen Browser to the list:
echo "zen-bin" | sudo tee -a /etc/1password/custom_allowed_browsers
Credits to u/xmansyx and u/feelspeaceman for this workaround.
On macOS, you can add Zen Browser directly through the desktop application's settings.
Zen Browser includes various advanced settings to modify its interface and behavior. To access these, type about:config into the address bar and search for the preferences listed below. Some adjustments may require a browser restart to take effect.
zen.theme.content-element-separation – Adjusts the border width around the browser window. Default: 8.zen.theme.accent-color – Defines the primary accent color using a hex code.zen.theme.essentials-favicon-bg – Toggles a colorful background for the favicons of "essential" tabs. Enabled by default.zen.theme.gradient – Enables a customizable sidebar gradient. Enabled by default.zen.theme.gradient.show-custom-colors – Allows the use of specific hex colors for the sidebar gradient. Disabled by default.zen.view.experimental-rounded-view – Experimental feature; current effect is undocumented. Disabled by default.zen.view.gray-out-inactive-windows – Desaturates the browser theme when the window is not in focus. Enabled by default.zen.watermark.enabled – Displays a brief splash screen upon launching Zen. Enabled by default.zen.theme.acrylic-elements – (Windows only) Toggles acrylic blur effects. Default: true.zen.widget.linux.transparency – (Linux only) Enables transparency for the browser interface.browser.tabs.allow_transparent_browser – Matches the default website background to your theme color. Use with caution, as this may cause visual glitches on certain websites. Disabled by default.zen.tab-unloader.excluded-urls – A comma-separated list of URLs that the browser is prevented from unloading.zen.tabs.dim-pending – Visually dims tabs that have been unloaded from memory. Enabled by default.zen.tabs.rename-tabs – Enables the ability to rename pinned tabs. Enabled by default.zen.ctrlTab.show-pending-tabs – If "Ctrl+Tab cycles through tabs in recently used order" is enabled, this allows switching to unloaded tabs. Disabled by default.zen.startup.smooth-scroll-in-tabs – Enables smooth scrolling transitions when navigating the tab bar. Enabled by default.toolkit.tabbox.switchByScrolling – Allows switching between tabs by hovering over the tab bar and scrolling. Disabled by default.zen.urlbar.replace-newtab – Focuses the address bar immediately when opening a new tab, allowing for instant searching before the page loads. Enabled by default.zen.workspaces.open-new-tab-if-last-unpinned-tab-is-closed – Automatically opens a new tab if all unpinned tabs are closed while pinned tabs remain unloaded. Disabled by default.zen.urlbar.hide-one-offs – Hides alternative search engine icons at the bottom of the address bar dropdown. Enabled by default.zen.urlbar.show-domain-only-in-sidebar – In single toolbar mode, this displays only the root domain (e.g., example.com) rather than the full URL. Enabled by default.zen.urlbar.show-protections-icon – Displays the site security and protection icon in the address bar. Disabled by default.zen.urlbar.wait-to-clear – Determines how long (in milliseconds) the address bar retains typed input after losing focus. Default: 45000.zen.view.sidebar-collapsed.hide-mute-button – Hides the audio mute icon when the sidebar is in its collapsed state.zen.view.sidebar-expanded.max-width – Sets the maximum width for the sidebar in single or multi-toolbar configurations.zen.view.sidebar-height-throttle – Internal setting for sidebar rendering. Default: 200.zen.view.hide-window-controls – Hides the minimize, maximize, and close buttons. In single toolbar mode, these appear upon hovering. Enabled by default.zen.view.experimental-force-window-controls-left – Moves window controls to the left side. If the sidebar is on the left, controls will appear within it. Disabled by default.zen.view.experimental-no-window-controls – Completely removes window controls and disables the toolbar in single toolbar mode. Disabled by default.zen.workspaces.swipe-actions – Enables switching between workspaces using touchpad swipes on the sidebar. Enabled by default.zen.workspaces.wrap-around-navigation – Allows swiping left from the first workspace to reach the last, and vice versa. Enabled by default.zen.workspaces.natural-scroll – Reverses the direction of workspace swipe gestures. Disabled by default.zen.workspaces.scroll-modifier-key – Sets the modifier key used to switch workspaces by scrolling over the sidebar. Options include ctrl, alt, and shift. Default: ctrl.zen.view.compact.animate-sidebar – Adds an animation to the webpage content when toggling compact mode. Enabled by default.zen.view.compact.color-sidebar – Applies your custom theme colors to the sidebar while in compact mode. Enabled by default.zen.view.compact.color-toolbar – Applies your custom theme colors to the toolbar while in compact mode. Enabled by default.zen.view.show-background-tab-toast – Displays a brief notification when a new tab is opened in the background while in compact mode. Enabled by default.zen.view.compact.show-sidebar-and-toolbar-on-hover – Reveals the hidden sidebar and toolbar when the mouse hovers over the edge in compact mode. Enabled by default.zen.view.compact.toolbar-flash-popup – Briefly reveals the sidebar whenever a new tab is opened in compact mode. Disabled by default.zen.view.compact.toolbar-flash-popup.duration – Sets the duration (in milliseconds) of the sidebar "flash." Default: 800.zen.view.compact.toolbar-hide-after-hover.duration – Sets the delay (in milliseconds) before the toolbar hides after the mouse leaves the area. Default: 1000.zen.splitView.enable-tab-drop – Enables split-screen mode by dragging a tab from the sidebar onto an active page. Enabled by default.zen.splitView.min-resize-width – Sets the minimum width of a split-view pane as a percentage of the total window width. Default: 7.zen.splitView.rearrange-hover-size – Internal hit-box setting for rearranging split tabs. Default: 24.zen.mediacontrols.enabled – Displays a media player interface when audio is playing or a specialized UI during video conferences. Enabled by default.media.videocontrols.picture-in-picture.enabled – Enables the Picture-in-Picture (PiP) toggle. Enabled by default.media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled – Automatically launches PiP mode when you switch tabs while a video is playing. Disabled by default.zen.glance.enable-contextmenu-search – Toggles whether right-click searches utilize the "Glance" overlay. Enabled by default.zen.keyboard.shortcuts.enabled – Allows users to modify default keyboard shortcuts. Enabled by default.zen.glance.open-essential-external-links – Opens external links from "essential" tabs in the Glance preview window. Enabled by default.browser.toolbars.bookmarks.visibility – Sets when the bookmarks toolbar is visible (always, newtab, or never). Default: never.zen.downloads.download-animation – Toggles the animation that triggers when a download begins. Enabled by default.zen.downloads.download-animation-duration – Sets the duration (in milliseconds) of the download animation. Default: 1000.zen.haptic-feedback.enabled – (macOS only) Provides haptic feedback during UI interactions like dragging tabs. Enabled by default.zen.browser.is-cool – A hardcoded boolean set to true.You can customize Zen Browser’s UI in real-time by editing the userChrome.css file.
If you are using the Flatpak version, the profile folder is located at:
~/.var/app/app.zen_browser.zen/.zen
For other installations:
about:support in the address bar.Inside your profile folder, create a new folder named chrome. Within that folder, create a new text file and name it userChrome.css. Restart Zen Browser to ensure it recognizes the new file.
Beginning with Zen Browser version 1.0.0-a.31, developer tools for the browser UI are disabled by default. To enable them:
about:config.devtools.debugger.remote-enabled to true.devtools.chrome.enabled to true.toolkit.legacyUserProfileCustomizations.stylesheets to true (this is essential for the browser to read your CSS file).Ctrl + Shift + Alt + I.userChrome.css.When writing CSS for the browser UI, you may need to add !important to your rules to ensure they override the default system styles.
Pro Tip: To inspect elements that usually disappear (like menus or popups), click the three-dot menu (⋯) in the top right of the Browser Toolbox and select "Disable popup auto-hide."
Any changes saved in the Style Editor (Ctrl + S) will apply instantly, allowing you to fine-tune colors, spacing, and layouts without restarting the browser.
Managing your profiles allows you to back up or migrate essential data, including bookmarks, history, passwords, and open tabs. Note that while you can migrate extensions, their specific settings may not always transfer perfectly.
Always close the browser completely before copying profile files to prevent data corruption.
about:support in the browser.You should copy the following files from your profile folder:
places.sqlite – Bookmarks and browsing history.cookies.sqlite – Active login sessions.cert9.db, key4.db, logins.json – Encrypted saved passwords.extension-preferences.json, extensions.json, extension-settings.json, and the extensions folder – Your installed add-ons.search.json.mozlz4 – Custom search engine configurations.sessionCheckpoints.json, sessionstore.jsonlz4 – Currently open tabs and windows.prefs.js – Your custom about:config preferences.chrome folder (for UI themes) and the storage folder (for extension data).If you encounter an "incompatibility" error after moving files to a new profile, locate and delete (or move) the compatibility.ini file within the new profile folder.
about:profiles.about:support.Launch the new profile and verify that your data is intact. If everything is correct, return to about:profiles and select "Set as default profile" to make it your primary environment.
Tiny Qwen: A Clean PyTorch Implementation of Qwen3 and Qwen2.5-VL
Open Source 3D Tetris in Your Browser With React and Three.js
NeuralAgent: An Open-Source AI Agent for Native Desktop Automation
Cline AI Coding Assistant for VS Code: Powered by Claude Sonnet
Postiz Setup Guide: Schedule Smarter with This Open-Source AI Tool
Helicone AI Gateway: A High-Performance Rust-Powered LLM Proxy
How to Install and Use Vosk Offline Speech Recognition
Lively Wallpaper Guide: Free Dynamic Desktops for Windows 10 & 11
Bolo Blog: A Free Java Blog Engine with Markdown and Dark Mode
ConEmu: A Highly Customizable Windows Terminal with Tabs and Split Panes
AG-UI Protocol: The Open Standard for Connecting AI Agents to Frontends
Turn eBooks & PDFs into Audio with Abogen – Fast TTS Tool