GNOME Web
GNOME Web is a free and open-source web browser developed by the GNOME project for Unix-like operating systems, serving as the default and official browser for the GNOME desktop environment.[1] Also known by its code name Epiphany, it is based on the WebKit rendering engine and emphasizes a simple, clean interface that prioritizes web content over extraneous features.[2][3] As part of the GNOME Core Applications, GNOME Web offers tight integration with the GNOME desktop, including support for GNOME's design principles such as adaptive interfaces and seamless theming.[1][4] Key features include a built-in ad blocker enabled by default, Intelligent Tracking Prevention to protect user privacy, and the ability to install web applications as native desktop apps.[2][5] It also supports standard web technologies, tabbed browsing, and private mode for secure sessions, making it suitable for everyday use on Linux distributions like Fedora, Ubuntu, and openSUSE.[2] The latest stable version, 49.1, was released on October 10, 2025, continuing its evolution with improvements in performance and standards compliance.[6] Originally developed as Epiphany in the early 2000s as a lightweight alternative to more feature-heavy browsers, GNOME Web has transitioned from its initial Gecko-based architecture to the modern WebKit engine, aligning with GNOME's focus on simplicity and open standards.[7] This evolution has positioned it as a privacy-oriented option within the GNOME ecosystem, also compatible with the Pantheon desktop used in elementary OS.[2]Overview
Description and purpose
GNOME Web is a free and open-source web browser developed by the GNOME project, serving as the reference implementation for web browsing within the GNOME desktop environment since its inception.[3] It is built on the WebKitGTK rendering engine, which provides robust support for modern web standards while maintaining a lightweight footprint suitable for integration with GNOME's ecosystem.[1] The primary purpose of GNOME Web is to deliver a lightweight, distraction-free browsing experience tailored specifically for GNOME users, emphasizing focus on web content by minimizing unnecessary toolbars, sidebars, and extraneous features.[8] This design philosophy centers on simplicity, enabling users to engage with web pages without interface clutter, while ensuring seamless interoperability with GNOME's applications and services.[9] At its core, GNOME Web adheres to minimalist design principles that prioritize user privacy, rendering speed, and accessibility, all within the broader GNOME ecosystem of intuitive and cohesive desktop tools.[1] It is included by default in many GNOME-based Linux distributions, such as Fedora Workstation and elementary OS, where it functions as an optional yet integral part of the desktop suite.[10] Although publicly known as GNOME Web, the project retains its original code name "Epiphany" for development and internal purposes following a rebranding effort.[3] Originally developed as a fork of the Galeon browser, it has evolved to embody GNOME's commitment to straightforward, standards-compliant web access.[8]Technical foundation
GNOME Web employs WebKitGTK as its core rendering engine, a port of Apple's WebKit designed specifically for integration with GTK-based applications to ensure seamless compatibility with the GNOME desktop environment. This engine was adopted starting with GNOME 2.28, released on September 23, 2009, marking a shift from previous rendering backends to leverage WebKit's advanced capabilities for web content display.[11][12] The application relies on foundational GNOME libraries for its interface and styling, notably transitioning to GTK4 in version 44, released on March 22, 2023, which improves rendering efficiency and supports modern UI paradigms. Additionally, it uses libadwaita for consistent application of the Adwaita theme, enhancing visual coherence within the GNOME ecosystem.[13][3] Through WebKitGTK, GNOME Web provides robust support for contemporary web standards, encompassing HTML5 for structured content, CSS3 for advanced styling and layouts, WebGL for hardware-accelerated 3D graphics, and the JavaScriptCore engine for efficient JavaScript execution. These components enable the browser to handle complex, interactive web applications while maintaining performance optimized for Linux desktops.[12] Security is bolstered by a sandboxing mechanism implemented via Bubblewrap, which isolates web rendering processes to restrict access to sensitive system resources; this feature was introduced in version 3.34, released on September 12, 2019. Furthermore, PDF document rendering is handled natively using the PDF.js library since version 3.36, released on March 11, 2020, allowing direct viewing without external dependencies.[14]History
Origins and early development
GNOME Web, originally known as Epiphany, was launched on December 24, 2002, by Marco Pesenti Gritti as a fork of the Galeon browser to develop a native web browser tightly integrated with the GNOME desktop environment.[15] Gritti, who had previously initiated Galeon as a GNOME-focused fork of the Mozilla Suite, started the Epiphany project on mozdev.org in early December 2002 after stepping away from Galeon maintenance.[16] The fork stemmed from disagreements between Gritti and other Galeon developers regarding the direction of feature development, with Gritti advocating for a streamlined approach to avoid the increasing complexity that had crept into Galeon.[17] Initial goals emphasized simplicity by stripping away non-essential features from Galeon, prioritizing ease of use for non-technical users, deep integration with GNOME components such as its control center for proxy settings, and strict adherence to web standards.[17][16] Early development also faced challenges from its dependence on Mozilla's Gecko rendering engine, which required ongoing synchronization with Mozilla updates to maintain compatibility and performance.[18] The first releases, spanning versions 0.7.2 in June 2003 and 1.0.8 in March 2004, introduced core functionalities like tabbed browsing with improved menu handling and basic session management to restore tabs upon restart.[18] These versions focused on refining the user interface for GNOME consistency, fixing memory leaks, and enhancing bookmark handling while continuing to rely on Gecko for web rendering.[18] Development proceeded as a community-driven effort under the GNOME project umbrella, relying on volunteer contributions for code, translations, and bug fixes to build a lightweight, standards-compliant browser.[17][19]Engine transitions
GNOME Web, originally known as Epiphany, began its development as a fork of the Galeon browser in 2002 and initially adopted the Gecko rendering engine inherited from its predecessor. This choice provided strong compatibility with Mozilla's rendering capabilities, ensuring consistent web standards support akin to Firefox and enabling Epiphany to leverage the mature ecosystem of Mozilla extensions and plugins during its early years from 2002 to 2008. However, Gecko's integration with GNOME proved challenging due to its unmaintained embedding API, lengthy release cycles that mismatched GNOME's six-month rhythm, and higher resource consumption compared to lighter alternatives, which hindered Epiphany's goal of simplicity and efficiency.[20][21] In April 2008, the Epiphany development team announced plans to transition exclusively to WebKit, dropping Gecko support to consolidate efforts on a single backend. The WebKitGTK team, responsible for the GTK port of WebKit, facilitated this shift, with the first fully WebKit-based release arriving in September 2009 as part of GNOME 2.28 (Epiphany 2.28). Epiphany 2.26.3 in July 2009 marked the final version supporting Gecko.[22][20][21] The motivations for the switch centered on WebKit's advantages: its GObject-based API enabled seamless integration with GNOME technologies like Cairo for graphics, Pango for text, libsoup for networking, and GStreamer for media; its six-month release cycle aligned perfectly with GNOME's; and its growing developer momentum promised faster innovation without the constraints of maintaining multiple backends or limiting features to their common subset. Additionally, WebKit offered a lighter footprint and superior rendering speed, addressing Gecko's drawbacks in resource use and embedding stability.[20][22] Following the transition, WebKitGTK drove significant enhancements, including improved HTML5 support through developments like advanced video playback and fullscreen capabilities refined at a January 2010 hackfest. Early challenges, such as JavaScript performance inconsistencies in the initial WebKitGTK implementations, were progressively addressed through ongoing optimizations in JavaScriptCore, with notable stability gains by 2012 as WebKitGTK matured to version 1.10 and beyond.[23][24] Since adopting WebKit, GNOME Web has not undergone further engine changes, relying instead on continuous updates from the WebKitGTK project to maintain modern web compatibility and performance.[12][25]Naming and rebranding
GNOME Web was originally released under the name Epiphany on December 24, 2002.[15] The name "Epiphany" was chosen to evoke a sudden moment of clarity or insight, aligning with the browser's goal of providing a simple, distraction-free web experience.[3] This name remained in public use for the browser until 2012.[10] The rebranding to GNOME Web was announced in December 2011 as part of broader design and integration efforts for the GNOME desktop.[26] It became effective with the GNOME 3.4 release on March 28, 2012, positioning the browser more clearly as GNOME's default web application and adopting descriptive names like "Web" in English.[27][10] The primary rationales included avoiding confusion with other software projects named Epiphany and emphasizing the browser's strong affiliation with the GNOME ecosystem through a descriptive naming convention.[10] Internally, the project retained "Epiphany" as its code name to maintain continuity in development.[26] The change improved the browser's discoverability in application stores and Linux distributions by making its purpose more immediately apparent to users, with "GNOME Web" used in documentation for clarity.[10]Version history and milestones
GNOME Web, originally released as Epiphany, achieved its first stable version 1.0 on September 8, 2003, marking a milestone in providing basic stability and integration with the GNOME desktop using the Gecko rendering engine.[28] A significant engine transition occurred with Epiphany 2.28 in September 2009, introducing WebKit as the rendering engine in place of Gecko to improve performance and standards compliance.[11] The browser underwent rebranding to GNOME Web alongside version 3.4 in March 2012, aligning with GNOME 3.4's design principles and emphasizing a minimalist interface.[29] In March 2019, GNOME Web 3.32 enhanced tab management with a redesigned tab menu and gesture support, improving usability on touch devices while maintaining focus on core browsing.[30] Development of the GTK4 port began prior to GNOME 42; it was merged in October 2022 and first released stably in GNOME 44 (March 2023), enabling modern UI capabilities and better performance.[31][32] Experimental support for WebExtensions arrived in GNOME Web with GNOME 43 in September 2022, allowing compatibility with select Firefox and Chrome extensions to expand functionality.[33] Wayland optimizations advanced in GNOME 45, released in September 2023, benefiting GNOME Web through smoother rendering and improved session handling on Wayland compositors.[34] GNOME 47 in September 2024 disabled Firefox Sync integration due to Mozilla's changes to the authentication API, prioritizing security over the deprecated feature.[35] Version 48.0, released on March 19, 2025, introduced enhancements to the history dialog for better accessibility and usability, alongside Flatpak-specific security improvements.[36][37] GNOME Web 49.0 in September 2025 delivered over 100 bug fixes, improved ad blocking with regional list support, and a redesigned download UI for streamlined file handling.[38][39] Version 49.1, released on October 10, 2025, provided maintenance updates and bug fixes.[6]Features
User interface and GNOME integration
GNOME Web employs a minimalist user interface that emphasizes simplicity and focus on web content, featuring a single address bar that combines navigation and search functionality to streamline user interactions. This design reduces visual clutter by omitting separate search fields or excessive toolbars, allowing users to enter URLs or search queries directly into the unified bar, which then queries configured search engines or bookmarks as needed. The interface also includes a reader mode, introduced experimentally in version 3.29 during GNOME 3.28 in 2018, which simplifies page layouts by removing advertisements, sidebars, and other distractions to present text in a clean, customizable format.[40] Deep integration with the GNOME desktop environment ensures a cohesive experience, leveraging libadwaita since version 43 in 2022 to provide adaptive theming that matches the system's light or dark modes and follows GNOME's Material Design-inspired aesthetics.[41] GNOME Web supports GNOME Online Accounts for seamless authentication to online services such as Google and Microsoft, enabling automatic credential handling across compatible sites without repeated logins.[42] When distributed as a Flatpak package, the browser utilizes xdg-desktop-portals to securely request access to host resources like files or notifications within its sandboxed environment.[43] Keyboard shortcuts and gestures in GNOME Web align closely with GNOME desktop conventions, such as Ctrl+T for opening new tabs and integration with multi-touch gestures for scrolling and zooming, while the Super key activates the GNOME overview for switching between browser windows and other applications.[1] Accessibility is prioritized through inheritance of GNOME's platform features, including high-contrast themes for improved visibility and full compatibility with the Orca screen reader for voice output of web content and interface elements. In recent updates, GNOME Web completed its migration to GTK4 in late 2022, enhancing rendering performance and hardware acceleration, particularly on Wayland compositors, while maintaining backward compatibility with existing extensions and themes. This port contributes to smoother interactions and better resource efficiency within the GNOME ecosystem.Rendering and web standards support
GNOME Web, leveraging the WebKitGTK rendering engine, delivers full compliance with HTML5 and CSS3 standards, enabling accurate rendering of semantic elements, multimedia, and advanced styling features essential for modern web development.[12] Partial support for WebRTC, facilitating peer-to-peer audio and video communications, was introduced in GNOME 3.28 in 2018, with ongoing enhancements to improve reliability and integration.[44] In standards testing, GNOME Web achieves a perfect score on the Acid3 test, confirming its robust adherence to core web technologies including DOM implementation, CSS2.1, and ECMAScript.[45] As of 2025, it demonstrates strong conformance to WebGL 2.0 specifications, supporting hardware-accelerated 3D graphics and shader operations for interactive web experiences.[46] Early implementations post-2012 encountered occasional JavaScript execution delays due to initial WebKit2 optimizations, but subsequent updates have significantly mitigated these issues through improved JIT compilation and rendering pipelines.[47] Media playback in GNOME Web relies on native HTML5<video> and <audio> elements, with H.264 codec decoding handled via the GStreamer multimedia framework for seamless integration with system-wide media capabilities.[48]
To prioritize open standards, GNOME Web intentionally limits support for certain proprietary codecs, often requiring users to install free alternatives like open-source H.264 decoders for full compatibility.[49] Adobe Flash Player support was never natively implemented and became obsolete following Adobe's end-of-life announcement on December 31, 2020.[50]