# GNOME Web (Epiphany): An Opinionated WebKit Browser Built Around Simplicity

> GNOME Web, codenamed Epiphany, is a GPL-licensed web browser for Linux built on WebKit and designed exclusively for GNOME and similar desktops. It is intentionally minimal, targets nontechnical users, and has no interest in running outside the GNOME environment.

**GNOME/epiphany** — Read-only mirror of https://gitlab.gnome.org/GNOME/epiphany

- Repository: https://github.com/GNOME/epiphany
- Website: https://gitlab.gnome.org/GNOME/epiphany
- Stars: 403 · Forks: 62
- Language: C
- License: GPL-3.0
- Published: 2026-08-21 · Updated: 2026-08-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/gnome-epiphany

## What GNOME Web Is and Who It Targets

GNOME Web is the default web browser of the GNOME desktop environment. Its codename, Epiphany, refers to a sudden perception of the essential nature or meaning of something, taken from the Merriam-Webster definition cited in the README. The browser is built on the WebKit rendering engine and written in C. The primary source repository is a GitLab mirror at gitlab.gnome.org/GNOME/epiphany; the GitHub repository is a read-only mirror maintained for discoverability.

The README states its target audience with unusual directness: nontechnical users by design, representing about 90 percent of the user population. Technical details are not exposed in the interface. Web developers who want to inspect network requests, run JavaScript console commands, or profile page rendering will find the web inspector present but non-central. The project's position is that it is a browser for web users, not web authors. A few geek-oriented features like the web inspector are welcome as long as they are non-obtrusive.

The README also specifies that GNOME Web does not aim to be usable outside the GNOME environment. It targets GNOME and similar desktops, notably elementary OS. Running it on a non-GNOME desktop is not a supported scenario, and the project makes no promises about compatibility with other environments.

## The Three Principles: Simplicity, Standards, and Software Freedom

The README includes a manifesto section that explains the design philosophy in three principles.

Simplicity means that feature bloat and user interface clutter are described as evil. The README says that commonly-used browsers of today are too big, buggy, and bloated, and that GNOME Web is a small browser designed for the web, not for mail, newsgroups, file management, instant messaging, or coffeemaking. This is an explicit rejection of the kitchen-sink browser model.

Standards compliance is framed as a matter of user freedom: if nonstandard browser features become dominant, alternative browsers that implement only the standards cannot fully access those sites, leading one browser to dominate the market. GNOME Web treats standards compliance as a structural choice that preserves competition.

Software freedom distinguishes GNOME Web from Google Chrome. The README calls Chrome the chief offender among modern browsers: it purports to be open source but includes several proprietary components. GNOME Web is fully free software under GPL-3.0.

## Installing GNOME Web via Flatpak

The README recommends installing GNOME Web via Flatpak from Flathub, calling it the best application distribution mechanism for Linux. Package manager packages are described as often outdated and insecure.

For the stable release, the README links to the Flathub page at flathub.org/apps/details/org.gnome.Epiphany. For testing future versions, GNOME Web Technology Preview is available from nightly.gnome.org. For the most recent development builds combining the latest WebKitGTK and the latest Epiphany code, the Canary flavor can be installed with:

```shell
flatpak --user install https://nightly.gnome.org/repo/appstream/org.gnome.Epiphany.Canary.flatpakref
```

The README marks the Technology Preview as not stable and the Canary build as very unstable, since both depend on unreleased code. The stable Flathub version is the appropriate choice for regular use.

## Building GNOME Web from Source with Meson

The recommended way to build from source is using GNOME Builder with the included Flatpak-builder manifest. Builder detects the org.gnome.Epiphany.json manifest and handles dependencies automatically.

For a manual build without Builder, GNOME Web uses the Meson build system:

```
$ mkdir build && cd build
$ meson ..
$ ninja
$ sudo ninja install
```

Missing pkg-config dependencies cause a meson error naming the missing package. On RPM-based distributions such as Fedora, the missing dependency can be installed with:

```
$ sudo dnf install 'pkgconfig(hogweed)'
```

On Debian-based distributions:

```
$ sudo apt install $(apt-file search --package-only hogweed)
```

The README advises newcomers to avoid bugs that require modifying WebKit or other dependencies. Rebuilding dependencies requires a more complex setup using either Toolbox or JHBuild.

## GNOME Human Interface Guidelines and Preference Policy

GNOME Web follows the GNOME Human Interface Guidelines, and deviations from those guidelines are treated as bugs. This is a stronger commitment than most applications make: it means that any new feature or interaction pattern must conform to the HIG before it is considered correct, not as an optional polish step. The README calls the HIG compliance a required condition, not an aspiration.

The README's stance on preferences is equally direct: preferences come with a cost, and new preferences are added cautiously. The linked post on preference costs explains the reasoning in detail. The practical effect is that GNOME Web does not offer per-user customization for many things that other browsers expose as settings. The browser makes choices for you and presents them as the correct default rather than as one option among many.

This is a deliberate design stance that matches the target audience of nontechnical users, who benefit from fewer decisions, but it creates friction for power users who want to configure behaviour that GNOME Web has decided is not a preference. The README makes no apology for this: feature bloat is described as evil, and the browser is deliberately designed not to grow into the kind of multi-purpose platform that Epiphany was created as a reaction against.

## Where Development Actually Happens: GitLab vs GitHub

The GitHub repository at github.com/GNOME/epiphany is a read-only mirror. The active development repository is at gitlab.gnome.org/GNOME/epiphany, which is where issue tracking, merge requests, CI, and the CI configuration in .gitlab-ci.yml all run. The README links to both, and the project homepage points to the GitLab URL. Filing a bug report or contributing a patch requires using GitLab, not GitHub.

The GitHub mirror exists for discoverability. Contributors should work against the GitLab repository. The CONTRIBUTING.md and HACKING.md files in the repository describe the contribution process in detail, and the preferred contact channel for questions is the Epiphany discussion forum at discourse.gnome.org. The project also uses a .gitlab/ directory for issue templates.

The repository's last push to the GitHub mirror was on 2026-09-26, confirming that the mirror is kept current. The project has been in continuous development as part of GNOME. The GPL-3.0 licence applies to the entire codebase. The top-level tree includes a NEWS file for recent changes and a TODO file for known outstanding items.

## Comparing GNOME Web to Google Chrome

Google Chrome is the browser the GNOME Web README explicitly positions against. Chrome uses the Blink rendering engine (a fork of WebKit) and runs on Linux, macOS, Windows, Android, and ChromeOS. It includes several proprietary components alongside its open-source Chromium base. The README argues this makes Chrome not fully free software despite its open-source framing.

GNOME Web uses WebKit (the upstream engine that Chrome originally forked from), runs only on Linux desktops with GNOME or similar environments, and is fully free software under GPL-3.0 with no proprietary components. Chrome ships with an extensive extension ecosystem and developer tools as first-class features. GNOME Web has no extension system and positions the web inspector as a non-obtrusive tool aimed at a minority of users. The trade-off is full software freedom and GNOME integration in exchange for a much smaller feature set and limited platform support.

## Conclusion

GNOME Web suits users who want a clean, GNOME-integrated browser on Linux that prioritises software freedom over feature count. It is the wrong choice for web developers who need browser developer tools as a primary workflow, or for users who depend on browser extensions for everyday browsing: the README explicitly targets nontechnical web users, not web developers, and treats extension-free design as a feature. Before switching to it as a daily driver, verify that the websites you depend on work correctly with WebKit on Linux, since WebKit and Blink do not always render sites identically.

## FAQ

### How do I install Epiphany on Raspberry Pi?

Install Flatpak on your Raspberry Pi's Linux distribution, then install GNOME Web from Flathub using the stable Flatpak. The README recommends Flatpak as the best distribution mechanism and notes that package manager packages are often outdated.

### Does GNOME Web (Epiphany) support browser extensions?

The README does not document browser extension support. GNOME Web targets nontechnical web users rather than web developers, and the manifesto explicitly limits the browser to web browsing, not additional functionality.

### What rendering engine does GNOME Web use?

GNOME Web is built on WebKit, as stated in the README. The README also notes that Google Chrome uses Blink, which is a fork of WebKit.

## Sources

- [Official documentation](https://gitlab.gnome.org/GNOME/epiphany)
- [Official README](https://github.com/GNOME/epiphany#readme)
- [Project repository](https://github.com/GNOME/epiphany)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/gnome-epiphany
