Betterfox
31% faster than regular Firefox<sup>1</sup> :rocket:
about:config tweaks to enhance Mozilla Firefox.
:new: Now with ESR support.
Made for everyday browsing
A secure, blazing fast browsing experience. Without breakage.
Betterfox is an opinionated preference list inspired by the law of diminishing returns and the minimum effective dose.
Required reading
If you don’t have it already: Get Firefox
- Create a backup profile.
- Download the user.js file here (Right click >
Save Link As…
). - Review Common Overrides and make any necessary changes.
- See also Optional Hardening for other recommendations.
- Open Firefox. In the URL bar, type
about:profiles
and press Enter. - For the profile you want to use (or use default), click Open Folder in the Root Directory section.
- Move the
user.js
file into the folder.
After restarting Firefox:
- Get an ad blocker like uBlock Origin with our recommended filters.
- Enable DNS-level protection with NextDNS. <sup><i>Use the link and support this page!</i></sup>
- Check out our configuration guide for the best experience.
- See how to quickly enable secure DNS in Firefox.
Simple goals
- Minimalism: get what isn’t needed out of the way
- Efficiency: unleash Firefox’s ability to be fast and performant
- Privacy: protect your data without causing site breakage
Simple configs
Fastfox
, Securefox
, Peskyfox
, and Smoothfox
are guides to settings within Firefox.
The user.js
— a configuration file that controls Firefox settings — is curated from these guides.
List | Description |
---|---|
Fastfox | Increase Firefox’s browsing speed. Give Chrome a run for its money! |
Securefox | Protect user data without causing site breakage. |
Peskyfox | Provide a clean, distraction-free browsing experience. |
Smoothfox | Get Edge-like smooth scrolling on your favorite browser — or choose something more your style. |
user.js | All the essentials. None of the breakage. This is your user.js . |
Recognition
Browser Integration
- Midori | files (Dec 2023?)
- Mercury | files (Sep 2023)
- Waterfox | files (Sep 2023)
- Floorp <sup>1 2</sup> | files (Apr 2023)
- Pulse | files (Dec 2021)
- Ghostery Private Browser <sup>1 2</sup> | files (Feb 2021)
YouTube
- The ULTIMATE Browser Tier List (Mar 2023)
- I Hate Firefox. But I’m Still Switching Back to It. (Nov 2022)
- [Español] Optimize and Accelerate Firefox (Nov 2022)
- How To Improve Firefox Performance (Dec 2021)
Podcasts
- [Italian] Digitalia.fm | 1:41:35–1:42:41 (July 2023)
- GhoSTORIES with Franz & Pete | 17:05–18:40 (Feb 2021)
Articles
- Browsers for Daily Using (Jan 2024)
- Avoiding Manifest V3 – Escaping the Ad-Pocalypse (Dec 2023)
- [German] Pulse Browser Review: Firefox fork with Turbo tweaks and Opera sidebar (Apr 2023)
- 2023 Browser Showdown: Comparing Chrome, Brave, Firefox, Vivaldi, and Opera (Jan 2023)
Guides
- FMHY Browser Tools: Privacy Tweaks
- Firefox-UI-Fix
- Narsil/desktop_user.js
- pyllyukko/user.js comparator
Reviews
- “I use this one … The performance is absolutely amazing. There’s definitely a huge difference when it comes to loading sites.” - DIRIKtv
- “BetterFox … will provide good-enough privacy and help with performance.” - Qdoit12Super
- “…drastically changed the experience with Firefox for me. Improved speed, security, smoothness, and removed clutter.” - AppDate
- “Firefox with uBlock Origin extension and tuned with Betterfox is faster than Safari.” - cugeloid
- “I don’t think I could use Firefox without Betterfox.” - Professional_Fun4616
- “The best collection of tweaks available.” - AuRiMaS
- “FF is now much snappier!” - whotheff
- “…the experience is so good now I don’t think I’ll go back to any of the chromium based browsers.” - Mr_Compromise
Support
If you like the project, leave a :star: (top right) and become a stargazer!
<a href=‘https://ko-fi.com/Q5Q5G8EPH’ target=‘_blank’><img height=‘36’ style=‘border:0px;height:36px;’ src=‘https://storage.ko-fi.com/cdn/kofi2.png?v=3’ border=‘0’ alt=‘Buy Me a Coffee at ko-fi.com’ /></a> <noscript><a href=“https://liberapay.com/yokoffing/donate”><img alt=“Donate using Liberapay” src=“https://liberapay.com/assets/widgets/donate.svg”></a></noscript>
Credit
- Betterfox mirrors the ongoing work provided by arkenfox. Additionally, this repository includes content reproduced or adapted from other sources. Credit for overlapping material goes to the original authors.
- Appreciation goes to the Firefox team and developers working on Bugzilla, fighting for the open web.
- A special thanks to Alex Kontos of Waterfox for his collaboration in v.116.
- Many thanks to the 2021 Ghostery team for testing Betterfox at scale in its early days.
<div align=‘center’> <a href=‘https://www.websitecounterfree.com’><img src=‘https://www.websitecounterfree.com/c.php?d=9&id=19653&s=1’ border=‘0’ alt=‘Free Website Counter’></a><br / > since 23 July 2022</div>
This reads a lot like an ad. Can you explain where that 31% faster number comes from? I don’t see many details in the linked article, and I also don’t see why a user.js change should have any impact, much less >30%.
I just glanced over the options it changes. From what I can tell it:
-
enables GPU rendering for some canvas2d options
-
doubles cache sizes for almost everything
-
disables some speculative prefetching
I cant imagine these options are making a 30% speed difference, outside of some very specialized tests. But, I also haven’t tried it so I could very well be wrong.
It’s probably on specific hardware then. At least the last (disabling speculative prefetching) sounds like tuning to the benchmark, and it very well could be worse in real-world usage.
-
I too am skeptical.
Mozilla cares a lot about performance. It is monitored obsessively and there are entire teams dedicated to squeezing out every last drop of performance. Heaven and earth would be moved for a 30% perf boost. I’m guessing either there’s some very severe tradeoffs to these prefs, or setting them somehow breaks the methodology used to obtain this number.
Edit: also benchmarks can be notoriously misleading. I don’t have any opinions or knowledge on basemark (the benchmark used to get this 30% number), but speedometer v3 is the most state of the art and generally agreed upon benchmark for performance these days.
That doesn’t mean the 30% number is bogus… Just that it should be followed by “…on basemark” rather than implying it’s conclusive to overall performance.
Looking over the Fastfox.js config, it looks like most settings fall into one of three categories:
- Subjective appearance of speed or responsiveness (perhaps at the expense of objectively-measurable load times)
- Experimental options that don’t apply to all hardware or OSes (e.g. GPU acceleration)
- Settings that optimize performance at the expense of memory, CPU, or network usage (e.g. cache sizes and connection limits)
I don’t see anything that makes me think Mozilla’s defaults are unreasonable. It’s not like Mozilla is leaving performance on the table, but rather that they chose a different compromise here and there, and use highly-compatible defaults. That said, it does seem like there is room for individual users to improve on the defaults — particularly if they have fast internet connections and lots of RAM.
For example:
// [NOTE] Lowering the interval will increase responsiveness
// but also increase the total load time.
user_pref(“content.notify.interval”, 100000); // (.10s); default=120000 (.12s)This seems very much like a judgment call and I guess Firefox’s defaults would actually have better objective load times and better benchmark scores. That doesn’t mean it’s objectively better, but it seems reasonable, at least.
// PREF: GPU-accelerated Canvas2D
// Use gpu-canvas instead of to skia-canvas.
// [WARNING] May cause issues on some Windows machines using integrated GPUs [2] [3]// [NOTE] Higher values will use more memory.
Again, the defaults seem to make sense. Perhaps Mozilla could add an optimization wizard to detect appropriate settings for your hardware, and let the user select options like “maximize speed” vs “maximize memory efficiency”. These are not one-size-fits-all settings.
Fastfox also disables a lot of prefetching options, which…seems counter to the goal of improving speed. Not really sure what to make of that.
The default value for network.dnsCacheExpiration seems insanely low, however.
Sure, just be aware that if you apply this without reading up on virtually every single option this changes, you’ll soon be joining the legion of people that always post about how “Firefox uses so much memory at idle!” or “Firefox won’t even render page xyz!” or “Firefox stutters like hell on pages with animations!” and so on.
Because there’s a reason that the devs have not applied these to be the default. They don’t come without any cost.
there’s a reason that the devs have not applied these to be the default.
And for a lot of options the reason is the advertisement partner’s money.
Yeah? Which ones?
Sssh, don’t tell the sheep that! Next you’ll tell them about the earth’s shape or the alien butt probes we all get implanted after birth in hospitals! Don’t let them know!!