Ubuntu’s default Firefox package installs the Snap build, so removing Firefox on Ubuntu is different from uninstalling a normal APT browser. To remove Firefox Snap from Ubuntu without losing browser data, back up or migrate the Snap profile before using --purge. Stop after the removal check if you only want Firefox gone; continue with the Mozilla Team PPA section if you want a deb-packaged Firefox build instead.
Remove Firefox Snap From Ubuntu
The removal-only path is short, but the profile step matters. Firefox Snap stores user profiles under ~/snap/firefox/common/.mozilla/firefox, while deb-packaged Firefox uses ~/.mozilla/firefox.
This removes only the Firefox Snap package. It does not remove snapd, the Snap Store, cached revisions for other snaps, or unrelated Snap applications.
The
--purgeoption removes the snap without saving a recovery snapshot of its data. If you want to keep bookmarks, passwords, history, extensions, or profiles from the Snap build, copy the profile before running the removal command.
Migrate the Firefox Snap Profile
Close Firefox first, then copy the Snap profile into the native Firefox profile location:
if [ -d ~/snap/firefox/common/.mozilla/firefox ]; then
mkdir -p ~/.mozilla
cp -a ~/snap/firefox/common/.mozilla/firefox ~/.mozilla/
fi
If you only want a backup and do not plan to install the PPA build, copy the same directory to a backup folder instead of ~/.mozilla/.
Remove the Firefox Snap Package
Remove the Snap package after saving any profile data you want to keep:
sudo snap remove --purge firefox
These commands use
sudofor snap and package changes. If your account cannot run administrative commands yet, create or switch to a sudo-capable user with the Ubuntu sudoers setup guide before continuing.
Confirm that the Firefox Snap is gone:
snap list firefox 2>/dev/null || echo "Firefox snap is not installed"
A removed Snap returns:
Firefox snap is not installed
Review Firefox Snap and PPA Trade-offs
The PPA replacement gives Firefox back to APT, but it also changes the update path and confinement model. Review the differences before replacing the browser:
| Area | Firefox Snap | Firefox deb from Mozilla Team PPA |
|---|---|---|
| Install source | Ubuntu’s transitional firefox package installs the Snap Store build | Launchpad PPA named ppa:mozillateam/ppa |
| Updates | Handled by snapd | Handled by APT after pinning and unattended-upgrades configuration |
| Profile path | ~/snap/firefox/common/.mozilla/firefox | ~/.mozilla/firefox |
| Desktop integration | Snap confinement can affect themes, portals, and file access | Uses the traditional deb package layout and desktop integration |
| Isolation | Snap confinement provides an extra packaging sandbox | Uses the normal Ubuntu desktop security stack without Snap confinement |
These steps cover Ubuntu 26.04 LTS (Resolute), 24.04 LTS (Noble), and 22.04 LTS (Jammy). Launchpad currently publishes Mozilla Team PPA metadata for all three codenames, and the pinning origin string is
LP-PPA-mozillateamacross the supported releases.
Install Firefox From the Mozilla Team PPA
The Mozilla Team PPA publishes stable Firefox builds for Ubuntu through Launchpad. This path replaces Ubuntu’s Snap transition package with the PPA deb package, then pins APT so future installs and upgrades keep selecting the PPA build.
Install Repository Tools
Install the tools used to add the PPA and process automatic package updates:
sudo apt update
sudo apt install software-properties-common unattended-upgrades -y
Add the Mozilla Team PPA
Add the PPA so APT can see the deb-packaged Firefox build:
sudo add-apt-repository ppa:mozillateam/ppa -y
On Ubuntu 26.04 and 24.04, add-apt-repository creates a DEB822 source file under /etc/apt/sources.list.d/. On Ubuntu 22.04, the same command creates the older .list source format and imports the PPA key into /etc/apt/trusted.gpg.d/.
Pin APT to the Mozilla Team PPA
Ubuntu’s repository still provides a transitional firefox package that installs the Snap build. Create an APT preferences file that prefers the PPA and blocks the Ubuntu transition package:
cat <<'EOF' | sudo tee /etc/apt/preferences.d/mozillateam-firefox >/dev/null
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
Package: firefox*
Pin: release o=Ubuntu
Pin-Priority: -1
EOF
The first rule gives the PPA priority 1001, which lets APT replace the installed Snap transition package with the PPA build. The second rule gives Ubuntu’s firefox package priority -1, so APT will not select the Snap transition package again while this file exists.
Enable Automatic Firefox Updates From the PPA
Add the PPA origin to unattended-upgrades so Firefox can receive automatic package updates through APT:
cat <<'EOF' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox >/dev/null
Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";
EOF
The single-quoted heredoc keeps ${distro_codename} literal so unattended-upgrades can expand it at runtime for resolute, noble, or jammy. For broader automatic update policy, use the Ubuntu unattended-upgrades configuration guide.
Install Firefox From the PPA
Refresh package metadata and install Firefox from the pinned PPA:
sudo apt update
sudo apt install --allow-downgrades firefox -y
The --allow-downgrades flag is intentional. Ubuntu’s Snap transition package uses an epoch version such as 1:1snap1, so APT treats the normal PPA Firefox version as a downgrade during the replacement.
Verify Firefox Uses the PPA
Check the selected package source:
apt-cache policy firefox
Relevant output on Ubuntu 26.04 shows the PPA package installed at priority 1001 and the Ubuntu transition package blocked at priority -1:
firefox:
Installed: 150.0+build1-0ubuntu0.26.04.1~mt1
Candidate: 150.0+build1-0ubuntu0.26.04.1~mt1
Version table:
1:1snap1-0ubuntu8 -1
500 http://au.archive.ubuntu.com/ubuntu resolute/main amd64 Packages
*** 150.0+build1-0ubuntu0.26.04.1~mt1 1001
500 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu resolute/main amd64 Packages
100 /var/lib/dpkg/status
Confirm the package version without launching Firefox:
dpkg-query -W -f='${Version}\n' firefox
150.0+build1-0ubuntu0.26.04.1~mt1
Troubleshoot Firefox Snap Replacement
Most failures come from the Snap transition package still winning APT selection, an omitted downgrade allowance, or a profile copied after purge instead of before it.
Firefox Still Asks for the Snap Package
If running firefox still asks you to install the Snap package, Ubuntu’s transitional wrapper is still being used instead of the PPA build:
Command '/usr/bin/firefox' requires the firefox snap to be installed. Please install it with: snap install firefox
Check the selected package source:
apt-cache policy firefox
If the installed or candidate version begins with 1:1snap1, re-create the Mozilla Team PPA pinning file above, then reinstall Firefox with --allow-downgrades.
APT Refuses to Replace the Snap Package
If you use -y without allowing the transition package downgrade, APT can stop with this error:
Error: Packages were downgraded and -y was used without --allow-downgrades.
Run the install command with the downgrade flag:
sudo apt install --allow-downgrades firefox -y
Snap Reports a Remove Change in Progress
If snap remove reports that Firefox already has a remove-snap change in progress, inspect the Firefox change before retrying. The snap stop command is for snap services, not normal Firefox browser windows, so close Firefox from the desktop or log out before retrying the removal.
snap changes firefox
snap tasks CHANGE-ID
Replace CHANGE-ID with the ID from the Firefox row in snap changes firefox. If that Firefox remove task is clearly stuck and no other snap install, refresh, or remove operation is running, abort that specific change and run the Firefox removal again:
sudo snap abort CHANGE-ID
sudo snap remove --purge firefox
Firefox Snap Returns After an Ubuntu Upgrade
If Firefox Snap returns after a major Ubuntu upgrade, re-create the pinning file and reinstall the PPA package:
cat <<'EOF' | sudo tee /etc/apt/preferences.d/mozillateam-firefox >/dev/null
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
Package: firefox*
Pin: release o=Ubuntu
Pin-Priority: -1
EOF
sudo snap remove --purge firefox
sudo apt update
sudo apt install --allow-downgrades firefox -y
Firefox Opens With a New Profile
If Firefox opens with a blank profile, check whether the old Snap profile still exists:
find ~/snap/firefox/common/.mozilla/firefox -maxdepth 1 \( -name "*.default*" -o -name "*.default-release*" \) 2>/dev/null
If the command returns profile folders, close Firefox and copy them into the native profile directory:
mkdir -p ~/.mozilla
cp -a ~/snap/firefox/common/.mozilla/firefox ~/.mozilla/
If the Snap profile directory no longer exists after a purged removal, restore the profile from your own backup or Firefox Sync. The --purge removal path does not keep a snap recovery snapshot.
PPA Package Is Not Found
If APT cannot find the PPA package, check whether the Mozilla Team source exists:
grep -r "mozillateam" /etc/apt/sources.list.d/
If the command returns nothing, add the PPA again and refresh metadata:
sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt update
Restore Firefox Snap on Ubuntu
To revert, remove the PPA build, remove the PPA and pin files, refresh APT, and install Ubuntu’s default Firefox package again. For deeper source cleanup options, use the PPA removal guide for Ubuntu.
sudo apt remove --purge firefox xul-ext-ubufox -y
sudo add-apt-repository --remove ppa:mozillateam/ppa -y
sudo rm -f /etc/apt/preferences.d/mozillateam-firefox
sudo rm -f /etc/apt/apt.conf.d/51unattended-upgrades-firefox
sudo apt update
sudo apt install firefox -y
Review optional orphan cleanup separately instead of pasting a blind autoremove command:
sudo apt autoremove --dry-run
If the preview only lists packages you no longer need, run sudo apt autoremove and review the confirmation prompt before accepting.
Verify the Snap build is back:
snap list firefox
The output should show a firefox row from the verified mozilla** publisher. Version and revision values change as the Snap Store updates Firefox.
apt-cache policy firefox
The APT policy should again show Ubuntu’s 1:1snap1 transition package as the installed Firefox package.
Conclusion
Firefox now either stays removed from Ubuntu or runs from the Mozilla Team PPA with APT pinning preventing the Snap transition package from returning. For alternate Mozilla channels, install Firefox Developer Edition on Ubuntu, use Firefox Beta or Nightly on Ubuntu, or choose Firefox ESR on Ubuntu when you prefer extended-support browser releases.


Nils (@ravage:xentonix.net on Matrix) used to have a great script to do not only this, but also export and import all one’s settings: open pages, passwords, and whatnot.
It would be great if someone could recreate that.
He is in the Ubuntu discussions on Matrix (https://matrix.to/#/#support:ubuntu.com), but no longer has the script.
Firefox sync does this.