A simple, clean, beautiful view of the web
GNOME Web (referred to on this page by its codename, Epiphany) is the default web browser for the GNOME desktop environment.
Epiphany aims for integration with the GNOME desktop and easy of use. Epiphany only aims to make Epiphany usable within GNOME. Example: network proxy configuration is handled from the GNOME control center installed instead of Epiphany itself. See the Epiphany Manifesto
Epiphany uses WebKitGTK from the WebKit project to display web pages.
- Extensions and Plugins
- Mozilla and Firefox
Another project took the "Epiphany" name!
The maintainers of the other project (a boulder-dash clone) agreed to share the name. On Debian systems, the GNOME epiphany binary is renamed to epiphany-browser to avoid name conflict.
What about Galeon?
Epiphany was forked from Galeon to be able to build a more usable browser for non-technical users. This involves removing confusing/technical features but more importantly redesign and add new features important for this part of the users. See the detailed history of Galeon, for more information on the Epiphany split.
Extensions and Plugins
Does Epiphany support extensions?
No. Epiphany did support extensions in the past, but they were fragile as they required access to browser internals and broke very often when new versions of Epiphany were released. To avoid these problems, we would love to support WebExtensions, the same extensions standard that is implemented by both Chrome and Firefox. Contributions would be highly welcome. Regardless, Epiphany aims to obviate the need for most extensions by having the functionality of most important extensions, such as adblocking, built-in and enabled by default.
Note that Epiphany does support plugins, which are completely different.
Does Epiphany support plugins?
Plugins are deprecated and support will be removed sooner or later. But as of Epiphany 3.32, you can still manually enable plugins using the command line:
$ gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ enable-plugins true
Epiphany uses WebKitGTK, which has full support for Netscape (NPAPI) plugins when running under the X11 window system. When running under Wayland, only "unwindowed" NPAPI plugins that do not draw anything are supported, as drawing requires use of X11 APIs. This means windowed plugins like Flash will not work when running in Wayland. This is unfixable because the API is controlled by Firefox, which has deprecated plugins entirely.
NPAPI plugins are just one shared library file. To install a plugin, copy it into one of the following directories (note that the $ in the first few entries indicates a directory based on an environment variable):
$MOZ_PLUGIN_PATH $MOZILLA_HOME/plugins $HOME/.mozilla/plugins $HOME/.netscape/plugins /usr/lib/browser/plugins /usr/local/lib/mozilla/plugins /usr/lib/firefox/plugins /usr/lib64/browser-plugins /usr/lib/browser-plugins /usr/lib/mozilla/plugins /usr/local/netscape/plugins /opt/mozilla/plugins /opt/mozilla/lib/plugins /opt/netscape/plugins /opt/netscape/communicator/plugins /usr/lib/netscape/plugins /usr/lib/netscape/plugins-libc5 /usr/lib/netscape/plugins-libc6 /usr/lib64/netscape/plugins /usr/lib64/mozilla/plugins /usr/lib/nsbrowser/plugins /usr/lib64/nsbrowser/plugins
Does Flash work?
Yes, if Flash is installed (to one of the above plugin directories). However, note that while it is expected to work, we cannot support the use of nonfree/proprietary browser plugins like Flash.
Do I need nspluginwrapper to play Flash content?
No. Previously, WebKitGTK lacked support for running GTK 2 extensions like Flash. Nowadays, WebKit has two separate plugin processes for GTK 2 and GTK 3 plugins and is smart enough to choose the right one. Using Flash no longer requires strange workarounds like nspluginwrapper.
Does Netflix work?
Reportedly yes, if pipelight is installed (to one of the above plugin directories). See the Arch Wiki page for details. if pipelight is installed to one of the above directories. You will need to change your user agent to pretend to be Firefox on Windows using the org.gnome.Epiphany user-agent setting. Note that this is very much not supported.
Mozilla and Firefox
What about Firefox as the default GNOME browser?
Epiphany's GNOME integration is better than Firefox's. This includes:
- Simplicity - Epiphany aims for the simplest interface possible for a browser. Simplicity can be achieved by providing advanced features in an intuitive manner. Epiphany's modularity helps make a light and powerful application. External applications and components are used when possible. Examples: 'View source' launches a gedit window instead of a browser view source window, and 'Help' launches Yelp instead of a foreign help browser.
HIG compliance - Epiphany aims to follow GNOME Human Interface Guidelines (HIG). Non-compliance with the HIG is a bug, unless there are grave reasons to make an exception. Contrast this with Firefox, which follows few HIG recommendations.
- WebKitGTK - Unlike Firefox, WebKitGTK uses your GTK theme to render HTML widgets like buttons and checkboxes, delivering superior desktop integration. WebKitGTK offers many technical advantages over Firefox beyond desktop integration, such as better multimedia support using GStreamer. Also, depending on WebKitGTK, a system library, allows us to maintain a featureful and functional web browser with orders of magnitude less code than Firefox. Less code means Epiphany is much easier to maintain, allowing us to manage with a smaller development team, and making it relatively easy to become familiar with the codebase and contribute to Epiphany.
Localization consistency - Epiphany translations are managed by the GNOME translation project. This ensures a much greater consistency level with other translated GNOME components than Firefox can give, where translations must also blend in with Windows. Furthermore, some Mozilla-provided translations are low quality, and Mozilla translations are always beyond the control of the GNOME translation project.
- Complete lockdown via GSettings - indispensible for system administrators or kiosk mode.
- Follows the icon theme - because Epiphany uses the GNOME framework, it will instantly use the icon theme you've selected. Firefox equivalents have been painstakingly recreated for some themes, but people who are using one which lacks an equivalent, are out of luck.
- Support for GNOME accessibility features such as themes for users with vision disabilities.
- GNOME keyring integration, so you can manage your web passwords in the Passwords and Keys app like all your other passwords.
- Support for new platform technologies, like GTK 3 and Wayland. Epiphany switched to GTK 3 roughly five years before Firefox did. And Firefox's Wayland support is still experimental (as of February 2017). Firefox will never be able to offer a good user experience when it is stuck in the past.
Many distributions use Firefox as the default browser. Why bother with Epiphany?
We are concerned that distributions favor Firefox over Epiphany. We strive to improve Epiphany as much as possible, so that distributors would use it as the default browser. We welcome your suggestions and especially your contributions.
Epiphany will never have the brand name recognition Firefox has.
Epiphany does not strive for brand name recognition. Epiphany strives to be low-key, staying out of people's way. Epiphany aims for unobtrusiveness, so that people don't notice when using it. Epiphany is also solely targeted at users of the GNOME desktop environment, so it is competing only for a small subset of Firefox's userbase.
How do I define a system-wide web application?
Let's say your application is called "Example" and it launches "https://www.example.com". You need to create a .desktop file as follows:
[Desktop Entry] Version=1.0 Type=Application Exec=epiphany --application-mode=example.desktop https://www.example.com Icon=example StartupNotify=true StartupWMClass=example Terminal=false Name=Example application Comment=A system-wide web application
Note that the exec line includes a reference to the web app URL and to the .desktop file itself. Store the desktop file and matching icons in the usual locations, for example:
You can also reference local HTML files as follows:
[Desktop Entry] Name=Fedora Developer Portal Comment=The developer workstation you've been waiting for. GenericName=Documentation Exec=epiphany --application-mode=fedora-developer-portal.desktop /usr/share/fedora-developer-portal/index.html Icon=fedora-developer-portal StartupWMClass=fedora-developer-portal Type=Application StartupNotify=true MimeType=text/plain;