Nightly is where Firefox changes land first, which makes it useful when you need to test web platform features, extension behavior, or site compatibility before those changes reach Beta or stable Firefox. To install Firefox Nightly on Debian with normal package-manager updates, use Mozilla’s official APT repository instead of a manually managed tarball.
Use the Nightly channel only when you specifically want daily preview builds. Debian’s default repositories provide Firefox ESR; for Mozilla’s stable package, install Firefox on Debian instead. For a preview build with less daily churn, install Firefox Beta on Debian. Mozilla’s current APT metadata provides the firefox-nightly package for amd64 and arm64; 32-bit i386 systems should use Debian’s firefox-esr package instead.
Install Firefox Nightly on Debian
Mozilla packages Firefox Nightly separately from Debian’s Firefox ESR track, so installing firefox-nightly adds a distinct command and desktop launcher without removing firefox-esr. Keep profile sharing in mind when you run multiple Firefox channels under the same Linux account.
Update Debian and Install Prerequisites
Refresh APT metadata before adding a new package source:
sudo apt update
These commands use
sudofor tasks that need root privileges. If your account does not have sudo access yet, follow the guide on how to add a user to sudoers on Debian.
Install the packages used to download Mozilla’s signing key, inspect the fingerprint, and read HTTPS APT sources. The -y flag accepts APT’s package-install prompt.
sudo apt install ca-certificates curl gpg -y
Add the Mozilla APT Repository for Firefox Nightly
Mozilla documents the same packages.mozilla.org repository in its Firefox Linux installation instructions, introduced the Nightly .deb package in its Firefox Nightly APT repository announcement, and later confirmed APT-based ARM64 Nightly packages in its Linux ARM64 Nightly announcement. The commands here use Mozilla’s signing key and repository, but store the source as a DEB822 file for easier auditing and cleanup on Debian.
Create the keyring directory, download Mozilla’s signing key as an unprivileged user, install it into APT’s keyring path, then remove the temporary local copy:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSLo packages.mozilla.org.asc https://packages.mozilla.org/apt/repo-signing-key.gpg
sudo install -m 0644 packages.mozilla.org.asc /etc/apt/keyrings/packages.mozilla.org.asc
rm -f packages.mozilla.org.asc
For the broader download syntax, learn the curl command in Linux. Here, -fsSLo makes curl fail on HTTP errors, stay quiet unless something breaks, follow redirects, and save the key to the named file.
Verify the signing key fingerprint before trusting the repository:
gpg --quiet --show-keys --with-fingerprint /etc/apt/keyrings/packages.mozilla.org.asc
pub rsa2048 2021-05-04 [SC]
35BA A0B3 3E9E B396 F59C A838 C0BA 5CE6 DC63 15A3
uid Artifact Registry Repository Signer <artifact-registry-repository-signer@google.com>
Create the Mozilla source file with an architecture guard. If the command reports an unsupported architecture, stop here because APT will not have a usable firefox-nightly candidate for that system.
(
arch="$(dpkg --print-architecture)"
case "$arch" in
amd64 | arm64)
printf '%s\n' \
'Types: deb' \
'URIs: https://packages.mozilla.org/apt' \
'Suites: mozilla' \
'Components: main' \
"Architectures: $arch" \
'Signed-By: /etc/apt/keyrings/packages.mozilla.org.asc' | sudo tee /etc/apt/sources.list.d/mozilla.sources >/dev/null
;;
*)
printf 'Firefox Nightly from Mozilla APT currently supports amd64 and arm64, not %s.\n' "$arch" >&2
exit 1
;;
esac
)
Add a channel-aware APT pin for Mozilla’s repository. The first stanza keeps Nightly and its Nightly language packs preferred from Mozilla, while the second stanza keeps other Mozilla Firefox packages below Debian’s own packages unless you deliberately install another channel.
printf '%s\n' \
'Package: firefox-nightly*' \
'Pin: origin packages.mozilla.org' \
'Pin-Priority: 1000' \
'' \
'Package: firefox*' \
'Pin: origin packages.mozilla.org' \
'Pin-Priority: 100' | sudo tee /etc/apt/preferences.d/mozilla >/dev/null
Refresh APT and confirm that firefox-nightly is visible from Mozilla’s repository:
sudo apt update
apt-cache policy firefox-nightly | grep -m1 -F 'packages.mozilla.org'
500 https://packages.mozilla.org/apt mozilla/main amd64 Packages
The Nightly version changes frequently, but the repository row should point to https://packages.mozilla.org/apt. On arm64, the row ends with arm64 Packages instead.
Install Firefox Nightly with APT
Install the Nightly package from Mozilla’s repository:
sudo apt install firefox-nightly -y
Verify that APT registered the installed package:
dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' firefox-nightly
ii firefox-nightly
Check the command and desktop launcher files that the package installed:
dpkg -L firefox-nightly | grep -E '/usr/bin/firefox-nightly|/usr/share/applications/firefox-nightly.desktop'
/usr/share/applications/firefox-nightly.desktop /usr/bin/firefox-nightly
Confirm the installed command starts and reports a Mozilla Firefox alpha version. This check avoids hard-coding the daily Nightly version number:
firefox-nightly --version | grep -Eq '^Mozilla Firefox [0-9]+\.0a1$' && printf 'Firefox Nightly command is available.\n'
Firefox Nightly command is available.
Mozilla’s repository also carries
firefox,firefox-esr,firefox-beta, andfirefox-devedition. Firefox Nightly uses its own package name and launcher, so it can coexist with Debian’s Firefox ESR package, but Firefox channels for the same Linux account still store profiles under Mozilla directories in your home folder. On some systems, installing Nightly can also update Debian’s browser alternatives in auto mode; change the desktop’s default browser setting afterward if you want another browser to stay default.
Install Firefox Nightly Language Packs
Mozilla ships Firefox Nightly language packs as separate Architecture: all packages. Search the available Nightly language-pack names before installing one. The final grep filter keeps the sample output short by showing German, French, and Japanese package names; remove that filter stage if you want the full locale list.
apt-cache search '^firefox-nightly-l10n' | grep -Eo '^firefox-nightly-l10n-(de|fr|ja)'
firefox-nightly-l10n-de firefox-nightly-l10n-fr firefox-nightly-l10n-ja
Install the language pack you want by replacing the locale code with your own:
sudo apt install firefox-nightly-l10n-de -y
Confirm the language-pack package is installed:
dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' firefox-nightly-l10n-de
ii firefox-nightly-l10n-de
After the package installs, open Firefox Nightly and switch the interface language under Settings > General > Language. Restart the browser if the new language does not appear immediately.
Launch Firefox Nightly on Debian
Launch Firefox Nightly from a graphical Debian desktop session after the package install finishes. The repository setup and package install can run over SSH, but the browser window still needs a local display session.
Launch Firefox Nightly from the Terminal
Run Firefox Nightly from a terminal inside your desktop session when you want a quick launcher command or need to pass extra arguments. If you try this over SSH without a display, Firefox Nightly returns a display error instead of opening.
firefox-nightly
Add an ampersand to return your shell prompt immediately while the browser keeps running:
firefox-nightly &
Launch Firefox Nightly from the Applications Menu
Open your desktop’s applications menu, search for Firefox Nightly, and start it from there. The Debian package installs the desktop launcher automatically, so you do not need to create one by hand.


Manage Firefox Nightly on Debian
Because Firefox Nightly comes from an APT repository, updates and package removal stay in the normal Debian package workflow. Keep source cleanup separate from package removal so you do not break another Firefox channel that still uses Mozilla’s repository.
Update Firefox Nightly
Refresh the package lists first, then upgrade only the Nightly package when you want the latest Nightly build without touching unrelated packages:
sudo apt update
sudo apt install --only-upgrade firefox-nightly
If you installed a Nightly language pack, update that package through the same repository by replacing the locale code:
sudo apt install --only-upgrade firefox-nightly-l10n-de
Remove Firefox Nightly
Remove the Nightly package and any Nightly language pack you installed. Replace or omit the language-pack package name to match your system.
sudo apt remove firefox-nightly firefox-nightly-l10n-de
APT may list packages from earlier system changes as autoremovable. Review the package list before confirming, and skip this cleanup command if it includes packages you want to keep:
sudo apt autoremove
Confirm no Firefox Nightly package remains installed:
if dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' firefox-nightly firefox-nightly-l10n-de 2>/dev/null | grep '^ii'; then
printf 'Firefox Nightly packages are still installed.\n'
else
printf 'Firefox Nightly packages are not installed.\n'
fi
Firefox Nightly packages are not installed.
Use purge only when you also want APT to delete residual package configuration for the Nightly packages:
sudo apt purge firefox-nightly firefox-nightly-l10n-de
Keep Mozilla’s repository if you still use
firefox,firefox-esr,firefox-beta, orfirefox-deveditionfrom the same source.
If you no longer need any Firefox package from Mozilla’s APT repository, remove the source file, old source-file variant, and APT pin, then refresh APT:
sudo rm -f /etc/apt/sources.list.d/mozilla.sources /etc/apt/sources.list.d/mozilla.list /etc/apt/preferences.d/mozilla
sudo apt update
Confirm that Mozilla’s source no longer contributes a Firefox Nightly candidate:
apt-cache policy firefox-nightly | grep -F 'packages.mozilla.org' || printf 'Mozilla APT source is not active for firefox-nightly.\n'
Mozilla APT source is not active for firefox-nightly.
Check whether any remaining APT source still references Mozilla’s shared keyring. The pattern covers the current .asc keyring and the older .gpg keyring path used by previous layouts:
grep -R --line-number -E 'packages\.mozilla\.org\.(asc|gpg)' /etc/apt/sources.list /etc/apt/sources.list.d 2>/dev/null || true
If the check prints no remaining source file, remove the keyring files from current and older article layouts:
sudo rm -f /etc/apt/keyrings/packages.mozilla.org.asc /usr/share/keyrings/packages.mozilla.org.gpg
Firefox profile data can be shared by Nightly, Beta, ESR, stable, and Developer Edition for the same Linux account. Package removal does not delete bookmarks, passwords, sessions, extensions, or cached files.
Check which local Mozilla paths exist before deleting profile or cache data:
find ~/.mozilla/firefox ~/.cache/mozilla -maxdepth 0 -print 2>/dev/null
Deleting these paths permanently removes local Firefox profiles, bookmarks, saved passwords, sessions, extensions, and cache data for the current user account. Export anything you need first, and remove any path from the command that you want to keep.
rm -rf ~/.mozilla/firefox ~/.cache/mozilla
Troubleshoot Firefox Nightly on Debian
Firefox Nightly Has No Installation Candidate
APT reports no candidate when the Mozilla source is missing, package lists are stale, or the system architecture is not published for the base firefox-nightly package.
Check the system architecture and package policy first:
dpkg --print-architecture
apt-cache policy firefox-nightly
If the architecture is amd64 or arm64, refresh APT and confirm that the Mozilla source appears:
sudo apt update
apt-cache policy firefox-nightly | grep -F 'packages.mozilla.org' || printf 'Mozilla APT source is missing or not enabled.\n'
If the source is missing, recreate the Mozilla source file and APT pin, then refresh APT again. If the architecture is i386, use Debian’s firefox-esr package because Mozilla’s current APT metadata does not publish the base Nightly package for 32-bit Debian systems.
Mozilla Packages Override Debian Firefox ESR
A broad Mozilla APT preference can make Mozilla’s firefox-esr package outrank Debian’s own ESR package. Check the policy output before changing package state:
apt-cache policy firefox-esr | sed -n '1,12p'
The safe result keeps Debian’s firefox-esr package as the candidate while Mozilla rows stay at the lower pin priority. If the candidate comes from packages.mozilla.org, replace /etc/apt/preferences.d/mozilla with the channel-aware pin from the repository setup step. Refresh APT, then check firefox-esr again before installing or upgrading packages.
Firefox Nightly Opens With the Wrong Profile
Firefox channels can see the same profile store under ~/.mozilla/firefox, and a new channel may select a different default profile. Open the profile manager when Nightly starts with unexpected bookmarks, extensions, or settings:
firefox-nightly --ProfileManager
Select the profile you want Nightly to use, or create a separate profile for testing unstable browser changes. Close other Firefox windows before copying, renaming, or deleting profile directories.
Conclusion
Firefox Nightly is installed on Debian with Mozilla-managed APT updates, a separate firefox-nightly command, and a desktop launcher. Report reproducible Nightly issues through Mozilla Bugzilla. For less volatile browser tracks, use the workflows to install Firefox Beta on Debian or install stable Firefox on Debian.


Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed in published comments:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>