Speed up your Mac
Mac Slow When Firefox Is Open? Here's What to Check
Firefox can run lean on macOS — or chew through RAM and CPU. Here's what's actually happening when your Mac slows down with Firefox open, and how to fix it.
Firefox on macOS sits in an awkward middle ground. It’s lighter than Chrome on memory most of the time. It’s heavier than Safari almost always. And when it goes wrong, it goes wrong in ways that look different from either of them — long pauses, the dreaded unresponsive script dialog, or a sudden 100% CPU spike from a process you can’t quite identify.
If your Mac feels sluggish whenever Firefox is open, the cause usually traces back to a small set of culprits. Most are fixable in a few minutes.
Firefox’s Process Model on macOS
Firefox uses a multi-process architecture called Electrolysis (e10s). By default it caps content processes at 8. That’s the setting controlled by dom.ipc.processCount in about:config — and it’s why Firefox tends to use less RAM than Chrome at the same tab count.
Open Activity Monitor and search for “firefox.” You’ll see:
- firefox — the main process
- plugin-container — content rendering, capped at 8 by default
- WebExtensions — one process for all your extensions combined
- GPU Process — handles compositing and hardware acceleration
- RDD Process — Remote Data Decoder, for video
The good news: this is a much smaller process count than Chrome. The bad news: when one of those 8 content processes contains a heavy tab, every tab sharing that process suffers.
To see which tabs are sharing a process, go to about:processes (yes, type that in the address bar). It shows a tree of processes and the tabs each one hosts.
Free up RAM in one clickSweep frees inactive memory and pauses runaway processes. Get Sweep free →
Why Firefox Sometimes Spikes CPU Out of Nowhere
The classic Firefox CPU spike has a few common causes:
- A site running a cryptominer — less common in 2025 but still happens with sketchy ad networks
- A misbehaving extension — especially translation, screenshot, or “productivity” extensions
- Hardware acceleration glitches — Firefox’s GPU process can occasionally lock into 100% on certain Macs
- The “main” process doing garbage collection under memory pressure
- Telemetry or crash reporter trying and failing to upload data
Firefox has a built-in task manager: about:performance. It lists every tab and extension by CPU and memory in real time. If something is spiking, this is where you’ll see it. Right-click a misbehaving entry and you can close just that tab without nuking all of Firefox.
Profile Bloat: The Real Reason Firefox Gets Slower Over Years
Firefox stores everything in your profile folder at ~/Library/Application Support/Firefox/Profiles/<random>.default-release/. Over years, this folder accumulates:
- places.sqlite — bookmarks and history database, which can hit hundreds of MB
- favicons.sqlite — cached site icons, often 50-100MB
- storage/ — IndexedDB and Service Worker storage for every site you’ve visited
- cache2/ — disk cache, separate from RAM cache
- cookies.sqlite — cookies database
- sessionstore.jsonlz4 — your saved session, including hundreds of past tabs
That sessionstore file is sneaky. Firefox keeps backups of your session state going back days. If you’re a “never close anything” user, your sessionstore can be 30-50MB on its own — and Firefox reads parts of it on every tab change.
To prune safely:
- Quit Firefox (Cmd+Q)
- Type
about:supportin the URL bar (do this before quitting if you don’t know your profile path) - Find “Profile Folder” and click Show in Finder
- Note the path
- Quit Firefox now
- In Finder, delete just
cache2/andstartupCache/— these regenerate - Restart Firefox
For deeper cleanup, Firefox has Help > More Troubleshooting Information > Refresh Firefox, which preserves bookmarks, history, and saved logins but resets everything else.
The Extension Problem in Firefox
Firefox extensions all run in a single shared WebExtensions process. That sounds efficient, and mostly it is — but if one extension misbehaves, it can drag down all of them. And because they share a process, you can’t easily attribute a memory spike to a specific extension.
About:processes will tell you the WebExtensions process is using 800MB. It won’t tell you that 700MB of that is one extension leaking memory.
To diagnose:
- Disable all extensions (about:addons > toggle off everything)
- Restart Firefox
- Watch about:processes. The WebExtensions process should be small or absent
- Re-enable extensions one at a time
- After each, watch memory for an hour of normal use
Common heavy Firefox extensions:
- Multi-account containers with dozens of containers configured
- Tree Style Tab with thousands of tabs (yes, people do this)
- Old uBlock Origin filter lists — keep them updated, prune unused lists
- Tab session managers — pick one, not three
- Anything that does text-to-speech or translation on hover
Hardware Acceleration: The Toggle Worth Trying
Firefox’s hardware acceleration on macOS is generally a win on Apple Silicon and modern Intel Macs. On older Intel Macs with discrete GPUs, it can backfire — the GPU process spins, the fans kick in, and battery life tanks.
To check: Settings > General > Performance. Uncheck “Use recommended performance settings” to expose two toggles:
- Use hardware acceleration when available
- Content process limit (defaults to 8)
If your fans run hot with Firefox, try unchecking hardware acceleration and restarting. Notice the difference. If it’s better with it off, you’ve found a real issue specific to your Mac. If you don’t notice a difference, leave it on.
The content process limit is more nuanced. Lowering it (to 4) reduces RAM use but means more tabs share processes — slower per-tab. Raising it (to 12) speeds up tab isolation but uses more RAM. On a 16GB Mac, 8 is the sweet spot. On 32GB+, try 12.
Specific Sites That Tank Firefox
Some sites run worse on Firefox than on Chrome or Safari, due to Chromium-specific optimizations not being available. Common offenders:
- Google Meet — uses ~40% more CPU on Firefox than on Chrome
- Figma — better on Chromium browsers due to WebGL optimizations
- Discord web — known memory leaks across Firefox versions
- Twitch chat — heavy DOM updates, struggles on Firefox
If you regularly use these, consider keeping a separate Chromium browser open just for them, and use Firefox for everything else. It sounds clunky, but it works.
A Step-by-Step for “Firefox Just Got Slow”
When Firefox slows down today and was fine yesterday:
- Open about:performance. Note the heaviest tabs and extensions.
- Close the worst offender. Watch CPU drop or stay the same.
- Open about:processes. If WebExtensions is huge, an extension is leaking. Disable them one by one to find which.
- Try a Private Window. Private windows don’t load extensions or use your normal cache. If Firefox is fast there, the problem is in your profile.
- Clear the cache. Settings > Privacy & Security > Cookies and Site Data > Clear Data. Check only Cached Web Content.
- Restart Firefox. Hold Shift while launching to enter Safe Mode (extensions disabled, hardware accel off).
- Check for updates. Firefox > About Firefox. Always run the latest stable.
- As a last resort, refresh Firefox. Help > Troubleshooting > Refresh Firefox.
Settings That Help, Settings That Don’t
Worth changing:
- Settings > General > Performance > Use recommended performance settings: OFF so you can control HW accel
- Settings > Privacy & Security > Enhanced Tracking Protection: Strict — slightly faster than Standard because it blocks more
- about:config > browser.tabs.unloadOnLowMemory: true — Firefox will unload background tabs under memory pressure
- about:config > browser.sessionstore.interval: 60000 — defaults to 15 seconds, which is excessive disk I/O
Worth ignoring:
- Most performance flags from random tutorials. Firefox’s defaults have been tuned for years
- “Speedup tools” that promise to optimize Firefox — they’re either useless or harmful
- Increasing cache size dramatically — past a few hundred MB it doesn’t help
Firefox can run lean on a Mac if you keep extensions in check, prune your profile occasionally, and don’t try to tune flags you don’t understand. Most slowdowns are one extension or one tab away from being fixed. Use about:performance and about:processes to find them, and you’ll spend a lot less time fighting your browser.