For Linux users who obsess over clean home directories and standards compliance, this is big news: Mozilla Firefox is finally embracing the XDG Base Directory Specification—a change that’s been requested for over two decades. Yes, you read that right: a bug filed in 2004 is now being resolved in 2026. Let’s unpack what this means, why it took so long, and why it’s a win for Linux purists and system administrators alike.
The Backstory: A Bug That Became a Legend
Back in September 2004, a bug report was filed against Firefox: “Firefox does not follow the XDG Base Directory Specification.” The XDG spec, introduced by Freedesktop.org, was designed to bring order to the chaos of configuration files scattered across $HOME. It defined three key directories:
~/.config→ for configuration files~/.local/share→ for application data~/.cache→ for temporary cache files
The idea was simple: keep your home directory clean and predictable. But Firefox ignored this standard and dumped everything—profiles, settings, cache—into a single folder: ~/.mozilla. For many users, this was tolerable. For others, especially those who value minimalism and automation, it was a thorn in their side.
Fast forward 21 years, and Bug 259356 has become something of a meme in Linux circles. It symbolized the tension between cross-platform software and Linux-specific best practices. Until now.
What’s Changing in Firefox 147?
With the release of Firefox 147, expected in January 2026, Mozilla is finally implementing XDG compliance for new profiles on Linux. Here’s what that looks like:
- Configuration files →
~/.config/firefox - Application data →
~/.local/share/firefox - Cache files →
~/.cache/firefox
This means that if you install Firefox fresh or create a new profile after upgrading to version 147, your files will be neatly organized according to the XDG standard.
Important caveat: Existing profiles will not be migrated automatically. If you’ve been using Firefox for years, your data will remain in ~/.mozilla unless you manually move it. Mozilla made this decision to avoid breaking user setups—a sensible approach given how delicate profile data can be.
Why Did It Take So Long?
You might be wondering: why did Mozilla wait 21 years to fix this? The answer lies in the complexity of Firefox’s architecture and its cross-platform nature. Firefox runs on Windows, macOS, Linux, and BSD systems. Maintaining consistency across platforms often means prioritizing universal solutions over platform-specific standards.
Additionally, migrating existing profiles could have introduced serious risks—corrupted data, broken extensions, and user frustration. Mozilla chose stability over tidiness, which, while frustrating for Linux enthusiasts, was arguably the safer bet.
Why This Matters for Linux Users
For many Linux users, this change is more than cosmetic. Here’s why:
1. Cleaner Home Directories
No more ~/.mozilla cluttering your home folder. With XDG compliance, your configuration files, data, and cache are neatly separated. This makes your home directory easier to manage, especially if you’re using dotfile managers or syncing configs across machines.
2. Easier Backups and Restores
When configs live in ~/.config and data in ~/.local/share, backing up your system becomes more predictable. You can exclude cache directories without worrying about losing critical data.
3. Better Integration with Linux Ecosystem
Many modern Linux applications already follow the XDG spec. Firefox joining the club means better consistency across your system. Tools like xdg-user-dirs and backup scripts will work more smoothly.
4. A Signal of Respect for Linux Standards
This change shows that Mozilla still cares about Linux users. In an era where some browsers prioritize proprietary features and AI integrations, this move feels like a nod to the open-source community.
What About Existing Users?
If you’re an existing Firefox user on Linux, nothing will break. Your profile will stay in ~/.mozilla unless you decide to migrate manually. Mozilla has not announced an official migration tool, but power users can move their profiles and update profiles.ini if they’re comfortable tinkering.
The Bigger Picture: Firefox’s Future on Linux
This update comes at a time when Firefox is experimenting with AI-powered features and other modern enhancements. While some users are skeptical about these changes, the adoption of XDG compliance suggests Mozilla hasn’t forgotten its roots. It’s a small but meaningful improvement that aligns Firefox with the broader Linux philosophy of modularity and cleanliness.
How to Prepare for Firefox 147
- If you’re installing fresh: Your profile will automatically follow XDG standards. No action needed.
- If you’re upgrading: Decide whether you want to migrate your existing profile. If not, Firefox will continue to use
~/.mozilla. - If you’re a sysadmin: Update your scripts and backup routines to account for the new directory structure for new profiles.
Final Thoughts
This isn’t just a technical tweak—it’s a cultural moment for Linux users. For years, the lack of XDG compliance was a running joke, a symbol of how even open-source giants can overlook community standards. Now, with Firefox 147, that chapter is closing.
Will this change revolutionize your workflow? Probably not. But it will make your system cleaner, your backups easier, and your Linux experience more consistent. And for those of us who care about the elegance of a well-organized $HOME, that’s worth celebrating.
TL;DR for Nerds
- Firefox ignored XDG for 21 years.
- Bug filed in 2004 is finally fixed in 2026.
- New profiles will use
~/.config,~/.local/share, and~/.cache. - Old profiles stay in
~/.mozillaunless you migrate manually. - Release: Firefox 147, January 2026.
Would you like me to add a migration guide for existing users (step-by-step instructions to move profiles to XDG directories) or include a section comparing Firefox’s approach to other browsers like Chromium?





