Firefox profiles let you run completely separate browser environments — different bookmarks, history, extensions, and settings — from the same Firefox installation. This is useful for work/personal separation, testing, development, and privacy.

What is a Firefox Profile?

A profile is a folder on your disk that contains:

  • Bookmarks and browsing history
  • Saved passwords (via Firefox Lockwise)
  • Extensions and their settings
  • Cookies and site data
  • about:config customizations
  • Sync settings (each profile can sync to a different Firefox Account)

Default location:

  • Linux: ~/.mozilla/firefox/xxxxxxxx.ProfileName/
  • macOS: ~/Library/Application Support/Firefox/Profiles/xxxxxxxx.ProfileName/
  • Windows: %APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.ProfileName\

Profile Manager

Launch Firefox Profile Manager:

firefox -ProfileManager # or firefox --ProfileManager 

Or navigate to about:profiles in Firefox.

The Profile Manager lets you:

  • Create new profiles
  • Delete profiles
  • Rename profiles
  • Set the default profile
  • Launch Firefox with a specific profile

Running Multiple Profiles Simultaneously

By default, Firefox only opens one instance. To open a second Firefox window with a different profile at the same time:

# Create a new window with a different profile (no new instance) firefox -P "Work" --no-remote # Or to open in a separate new window firefox -P "PersonalBrowsing" --new-instance 

On macOS:

/Applications/Firefox.app/Contents/MacOS/firefox -P "Work" --no-remote 

--no-remote prevents the new instance from connecting to an existing one.

Use Cases

Work/Personal Separation

Profile: Work - Work email logged in - Jira/Confluence bookmarks - No personal history - Work-specific extensions (password manager, screen recorder) Profile: Personal - Personal accounts - Entertainment bookmarks - Personal extensions (uBlock Origin, LastPass) 

Testing Multiple Accounts

Profile: UserA - Logged in as user A for testing Profile: UserB - Logged in as user B for testing Profile: Logged-out - No logins, clean state 

Extension Development

Profile: Clean - No extensions - about:config defaults - Test your extension in isolation Profile: Dev - Your extension under development - Browser Toolbox enabled - Remote debugging enabled 

Creating Profiles from Command Line

# Create a new profile firefox --CreateProfile "MyProfile" # Or with a specific directory firefox --CreateProfile "MyProfile /path/to/profile/dir" 

Profile Settings Worth Knowing

In about:config, some settings are profile-specific:

  • All browser.* preferences
  • All extensions.* preferences
  • All devtools.* preferences
  • privacy.trackingprotection.*

Firefox Sync settings are profile-specific — sync different things in different profiles.

Copying a Profile

To clone a profile (useful for testing):

  1. Close Firefox
  2. Find your profile folder (listed in about:profiles)
  3. Copy the folder
  4. In Profile Manager, create a new profile pointing to the copy

Or programmatically:

# Copy profile directory cp -r ~/.mozilla/firefox/xxxxxxxx.default ~/.mozilla/firefox/xxxxxxxx.clone # Then add to profiles.ini manually or via Profile Manager 

Firefox Containers vs Profiles

These solve different problems:

Feature Containers Profiles
Isolation Per-tab cookie isolation Complete environment isolation
Extensions Share across containers Separate per profile
History Shared Separate
Bookmarks Shared Separate
Performance No extra overhead Extra Firefox instance
Use case Same-session account separation Work/personal split

Use containers for keeping one site's cookies from leaking to another within the same session. Use profiles for completely separate browsing environments.

Profile Sync Strategy

You can sync different profiles to different Firefox Accounts:

  • Profile "Work": sync with work@company.com Firefox Account → work bookmarks/passwords sync to work laptop
  • Profile "Personal": sync with personal@email.com → personal data syncs across personal devices

This keeps work and personal data cleanly separated even on the same machine.

Tab Manager Extension and Firefox Profiles

Firefox extensions like Tab Manager & Session Saver store sessions per profile — your work session tabs stay in the Work profile and personal tabs in the Personal profile. This means if you use profiles, each profile gets its own independent tab history.

Automation: Using Profiles with Playwright/Selenium

For automated testing, start Firefox with a specific profile:

// Playwright: launch with persistent context (profile) const context = await chromium.launchPersistentContext('/path/to/profile', { channel: 'firefox', headless: false, }); // Or start fresh for clean-slate testing const browser = await firefox.launch(); const context = await browser.newContext(); // Ephemeral profile 

Firefox profiles give you granular control over your browser environment — well worth the setup time for power users and developers.