about:config is Firefox's advanced settings panel — a flat key-value store for hundreds of internal preferences. Most users never touch it. Knowing a handful of settings meaningfully improves privacy and performance.

Accessing about:config

Type about:config in the address bar → Accept the warning → Search for settings.

Every setting has:

  • A name (e.g., network.trr.mode)
  • A type (boolean, integer, string)
  • A status (Default, Modified, or Locked)
  • A current value

Double-click boolean settings to toggle. Double-click integer/string settings to edit.

Settings Worth Knowing

DNS over HTTPS (Forced Mode)

network.trr.mode = 3 

Mode values:

  • 0: Off (default DNS)
  • 1: TRR is tried first, fallback to OS
  • 2: TRR preferred, fallback to OS (Firefox's UI default when DoH is enabled)
  • 3: TRR only, no fallback
  • 5: Explicitly disable TRR

Mode 3 forces all DNS through your DoH resolver. Only use this if your DoH resolver is reliable — if it goes down, DNS stops working.

network.trr.uri = https://1.1.1.1/dns-query 

Set your preferred DoH resolver. Alternatives:

  • https://9.9.9.9/dns-query (Quad9)
  • https://dns.nextdns.io/YOUR-ID (NextDNS — configurable filtering)
  • https://dns.adguard-dns.com/dns-query (AdGuard)

ECH (Encrypted Client Hello)

network.dns.echconfig.enabled = true network.dns.http3_echconfig.enabled = true 

ECH encrypts the SNI (Server Name Indication) in TLS handshakes. Prevents passive observers from seeing which hostnames you're visiting. Works automatically on Cloudflare-hosted sites.

Disable WebRTC Local IP Leaks

media.peerconnection.ice.no_host = true 

Prevents WebRTC from advertising your local network IP addresses. WebRTC still works for video calls via relay, but your internal IP (192.168.x.x) isn't exposed to sites.

Note: media.peerconnection.enabled = false disables WebRTC entirely — also stops browser-based video calls.

Fingerprinting Resistance

privacy.fingerprintingProtection = true 

Firefox 117+ built-in fingerprinting protection. Standardizes many properties that browsers expose (canvas noise, audio context precision, timezone, etc.) to make your browser less uniquely identifiable.

More aggressive (Tor Browser-level):

privacy.resistFingerprinting = true 

Warning: privacy.resistFingerprinting can break some sites (it spoofs more properties including window.screen.width). Use privacy.fingerprintingProtection (new API) for a better balance.

Sanitize History on Shutdown

privacy.sanitize.sanitizeOnShutdown = true privacy.clearOnShutdown.cookies = true privacy.clearOnShutdown.history = true 

Clears cookies and history when Firefox closes. Good for shared computers or high-privacy profiles.

Form Autofill

signon.autofillForms = false 

Disables auto-filling login forms. Useful if you use a password manager extension that handles this itself and you don't want Firefox competing.

Disable Pocket

extensions.pocket.enabled = false 

Removes the Pocket (save for later) integration from Firefox's toolbar and menus. Pocket is a Mozilla service — this doesn't affect privacy, just declutters the UI.

Disable Sponsored Content on New Tab

browser.newtabpage.activity-stream.showSponsored = false browser.newtabpage.activity-stream.showSponsoredTopSites = false browser.newtabpage.activity-stream.feeds.topsites = false 

Removes sponsored tiles from the new tab page.

Settings NOT Worth Changing

javascript.enabled = false: Breaks essentially everything. Not a practical privacy measure.

network.http.sendRefererHeader = 0: Breaks OAuth login flows and many sites. The privacy gain is minimal — Referer is a minor tracker compared to cookies/fingerprinting.

network.http.pipelining = true: Old optimization that's been replaced by HTTP/2 multiplexing. No longer relevant.

User.js — Automating about:config

A user.js file in your Firefox profile directory sets preferences on startup:

// ~/.mozilla/firefox/PROFILE/user.js user_pref("network.trr.mode", 3); user_pref("network.trr.uri", "https://1.1.1.1/dns-query"); user_pref("privacy.fingerprintingProtection", true); user_pref("media.peerconnection.ice.no_host", true); 

This ensures your settings survive Firefox updates that might reset modified preferences.

arkenfox user.js: A well-maintained community project that provides a comprehensive, documented user.js for privacy-hardened Firefox. Available on GitHub at arkenfox/user.js. Be aware it's opinionated and may break some sites — read the documentation before applying.

Viewing Your Modified Settings

about:config → Filter by "Modified" status:

  • Click the filter icon (looks like a funnel)
  • Or search for "Modified" doesn't work — instead look for settings with the Modified label (shown differently from Default)

Alternatively: about:support → Firefox Configuration → Shows all modified preferences and their current values.

Safe Experimentation

about:config settings can break things. The safety net:

  1. Note the current value before changing
  2. Right-click → "Reset" to restore any setting to its default
  3. If Firefox won't start: launch with --safe-mode flag, or delete prefs.js (not user.js) from your profile to restore all defaults

The prefs.js file stores all your about:config changes. Deleting it resets everything to factory defaults.