A Node.js tool to extract and decrypt saved passwords from Firefox profiles on Windows. This tool automatically locates all Firefox profiles and decrypts stored credentials without requiring manual configuration.
This tool is designed for legitimate password recovery purposes only. Use it responsibly:
- Only use on your own computer and Firefox profiles
- Only extract passwords you have permission to access
- Keep extracted password files secure
- Delete extracted files after use
- 🔍 Automatic Profile Detection - Finds all Firefox profiles automatically
- 🔐 NSS-based Decryption - Uses Mozilla's NSS library for secure decryption
- 📁 Multiple Output Formats - Export as TXT, JSON, or CSV
- 🎯 Selective Extraction - Process all profiles or specific ones
- 💾 Flexible Output - Custom output directory support
- 📊 Multiple Browsers - Supports Firefox, Firefox Developer Edition, Thunderbird, Waterfox, SeaMonkey, and Nightly
- Operating System: Windows (Windows 10/11 recommended)
- Node.js: Version 16.0.0 or higher
- Firefox: Any recent version installed
| Browser | Supported Versions | Notes |
|---|---|---|
| Mozilla Firefox | 60+ | Fully tested |
| Firefox Developer Edition | All versions | Fully tested |
| Mozilla Thunderbird | 60+ | Fully tested |
| Waterfox | All versions | Compatible |
| SeaMonkey | Recent versions | Compatible |
| Firefox Nightly | All versions | Compatible |
- ✅ logins.json - Modern Firefox password storage (Firefox 60+)
- ✅ signons.sqlite - Legacy password storage (older Firefox versions)
⚠️ Primary/Master Password - Profiles with master passwords will be skipped
# Clone the repository
git clone https://github.com/00nx/firefox-password-extraction.git
cd firefox-password-extraction
# Install dependencies
npm install
Extract all passwords from all profiles to default location:
node index.jsnode index.js --listnode index.js --profile "default-release"node index.js --output "C:\MyBackups\passwords"node index.js --format jsonnode index.js --format csvnode index.js -p "Profile1" -p "Profile2"node index.js --verbose| Option | Alias | Description | Default |
|---|---|---|---|
--help |
-h |
Show help message | - |
--version |
-v |
Show version number | - |
--output PATH |
-o |
Output directory for password files | %TEMP%\firefox-passwords-{username} |
--profile NAME |
-p |
Process specific profile(s) only | All profiles |
--list |
-l |
List available profiles and exit | - |
--format FORMAT |
-f |
Output format: txt, json, csv | txt |
--verbose |
- | Enable detailed debug output | - |
--quiet |
-q |
Suppress info messages | - |
%TEMP%\firefox-passwords-{username}\
├── all-passwords.txt # Combined passwords from all profiles
├── mozilla-firefox-profile1.txt
├── mozilla-firefox-profile2.txt
└── ...
Website: https://example.com
Username: 'user@example.com'
Password: 'mypassword123'
Website: https://github.com
Username: 'myusername'
Password: 'github_password'
[
{
"profile": "mozilla-firefox-default-release",
"website": "https://example.com",
"username": "user@example.com",
"password": "mypassword123"
}
]Profile,Website,Username,Password
"mozilla-firefox-default-release","https://example.com","user@example.com","mypassword123"- Profile Discovery: Scans
%APPDATA%\Mozilla\Firefox\profiles.inito find all Firefox profiles - NSS Library Loading: Locates and loads
nss3.dllfrom Firefox installation - Credential Extraction: Reads encrypted credentials from
logins.jsonorsignons.sqlite - Decryption: Uses NSS (Network Security Services) to decrypt passwords
- Export: Formats and saves decrypted credentials
- koffi (v2.15.6+) - FFI library for calling NSS functions
- better-sqlite3 (v9.4.3+) - SQLite database access for legacy profiles
The tool searches for nss3.dll in the following locations (in order):
NSS_LIB_PATHenvironment variableC:\Program Files\Mozilla FirefoxC:\Program Files (x86)\Mozilla Firefox%LOCALAPPDATA%\Mozilla Firefox- Firefox Developer Edition directories
- Thunderbird directories
- System PATH directories
Solution: Ensure Firefox is installed. If using a portable version, set the NSS_LIB_PATH environment variable:
set NSS_LIB_PATH=C:\Path\To\Firefox
firefox-decryptSolution: This tool cannot decrypt profiles protected with a Primary/Master Password. You must either:
- Remove the Primary Password from Firefox settings
- Skip that profile (tool does this automatically)
Solution:
- Verify Firefox is installed and has been run at least once
- Check that
%APPDATA%\Mozilla\Firefox\profiles.iniexists - Use
--verboseflag for detailed debugging
Solution: Run with administrator privileges if encountering permission issues:
# Run Command Prompt as Administrator
node index.jsContributions are welcome! Please feel free to submit a Pull Request.
git clone https://github.com/00nx/firefox-password-extraction.git
cd firefox-password-extraction
npm installnpm testThis project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
⭐ If this tool helped you, please consider giving it a star on GitHub!