DEV Community

Weather Clock Dash
Weather Clock Dash

Posted on

Firefox Profiles: Separate Work, Personal, and Testing Environments

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

On macOS:

/Applications/Firefox.app/Contents/MacOS/firefox -P "Work" --no-remote
Enter fullscreen mode Exit fullscreen mode

--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)
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Creating Profiles from Command Line

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

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

Top comments (0)