I, too, "value your privacy" but unlike most I think it is priceless and fundamental. Privacy Policy


Doctor Who (2005), Season 1, Episode 13:
Rose: I am the Bad Wolf, I create myself. I take the words… I scatter them in time and space. A message to lead myself here.
Doctor: Rose, you've got to stop this! You've go to stop this now! You got the entire vortex running through your head. You're gonna burn!
Rose: I want you safe. My Doctor. Protected from the false god
Dalek Emperor: You cannot hurt me! I am immortal!
Rose: You are tiny. I can see the whole of time and space. Every single atom of your existence and I divide them. Everything must come to dust. All things. Everything dies. The Time War ends.
Dalek Emperor: I will not die! I cannot die!
Screenshot of badwolf (light theme) on this page

BadWolf is a minimalist and privacy-oriented WebKitGTK+ browser.

No browser-level tracking, multiple ephemeral isolated sessions per new unrelated tabs, JavaScript off by default
Small codebase (~1 500 LoC), reuses existing components when available or makes them available
WebKitGTK native extensions, Interface customizable through CSS
Powerful & Usable
Stable User-Interface; The common shortcuts are available, no vi-modal edition or single-key shortcuts are used
No annoyances
Dialogs are only used when required (save file, print, …), javascript popups open in a background tab


BadWolf is using Semantic Versioning with considering that the User-Interface is part of the interface stabilisation. Release branches (ie. 1.0.x) are supported for 6 months for any bug fixes and 2 years for security fixes.

Tarball signature check: signify/minisign is the recommended tool to use, you can find my key at /releases/signify/2021-04.pub, you can find more info about how I manage the keyset in: Bootstrapping signify for my assets.
The command to verify the tarball looks like this: signify -V -p signify/2021-04.pub -x badwolf-1.3.0.tar.gz.sign -m badwolf-1.3.0.tar.gz

Tested and supported platforms

Linux note, NetBSD, OpenBSD, FreeBSD, Haiku (best effort due to lack of CI)
CPU Architectures
x86_64/amd64, x86(_32), armv7hf, armv8+/aarch64
Wayland, X11

Similar systems should work, feel free to reports tests/bugs and volunteer on testing before releases are published.
Libre Systems where WebKitGTK is up-to-date (2.32.0+) are the target, proprietary systems (Windows, MacOS, Oracle Solaris, …) are unsupported.

Contacts / Discussions

IRC Channel
#badwolf-browser on GeekNode
Matrix bridge
Reaching main author directly
contact page

Tickets (bug, feature request, …)

Use the contact methods above before to confirm where your bug comes from, then you may use https://todo.sr.ht/~lanodan/badwolf (no accounts needed).

For security issues, sending me an email to contact+badwolf@hacktivis.me with my reop public key (reop homepage) is the preferred way.


Please try to use one of the contact methods shown above before doing modifications, it seriously helps on integrating your contribution and could also point you at resources if you need help. Feel free to drop me a repository or patches of your local modifications though.


Gettext po files are used for translations, this is supported by most translation helpers but a simple text editor is fine as there isn't much to translate. Please do not submit machine-only translations, it would already be done otherwise.


The git repositories are using GitFlow with commits that are clean with descriptive messages. I'll probably ask you to rewrite your commits or rewrite them if they aren't.

See also

Similar browsers

Theses are the browsers where I drew inspiration or some hints from their code from:

Related content

Own articles

  1. 2015-11-11: Mozilla is Broken
  2. 2017-07-09: www-client are broken (which can serve as a loose roadmap)
  3. 2020-04-17: BadWolf, one year later

Others articles

  1. Mozilla - Devil Incarnate

Others videos

  1. BadWolf Is A Minimal, Privacy-Oriented Web Browser DistroTube: distrotube.com, lbry.tv, Youtube

Related patches on WebKitGTK

They are into my /git/WebKitGTK repo. They're not required for badwolf but recommended to checkout. Here is the ones being upstreamed:

  1. Bug 210101 - [GTK][Stable] When using wayland webkit wants to take over the alsa device: Includes a patch for fixing ALSA playback when launched in wayland (caused by sandboxing).
  2. Bug 212524 - [GTK] Bubblewrap sandbox lacks support for sndio: Includes a patch for adding sndio support
Alpine-style (musl, no-Systemd) in preference of the other possible choices. GNU software is mostly irrelevant and in fact the least supported. Bugs caused by systemd will be ignored.