Can You Really Run Several Firefox Profiles at Once?
Firefox keeps each profile as a fully separate data directory, so cookies, logins, extensions, history and preferences never cross over. To set up Firefox multiple browser profiles, open the Profile Manager with firefox -p, create your profiles, then launch each one with the -no-remote switch so several instances run side by side. Modern builds also add a startup profile picker, which layers on top of the older profiles.ini file rather than replacing it — and that layering is where most setups break.

📌 TL;DR Executive Summary
- Core Takeaway: Create profiles with firefox -p or about:profiles, then launch each one from its own shortcut using -P “ProfileName” -no-remote. Each profile is its own folder, so cookies, logins, extensions and history stay apart.
- Key Risk/Challenge: Firefox now runs two profile systems at once — the legacy profiles.ini text file and the newer selectable-profile SQLite store. Mixing them makes profiles vanish from the startup picker or quietly change which profile Firefox treats as default.
- Recommended Solution: Back up profile folders before you edit anything, keep every profile inside one system, and remember that profiles separate stored data — not your machine’s fingerprint. For real per-account isolation, pair each profile with its own proxy and a browser that spoofs canvas, WebGL and fonts coherently.
How Firefox Stores Profiles in 2026
A Firefox profile is a folder on disk. Inside it you’ll find cookies.sqlite, logins.json, places.sqlite (history and bookmarks), prefs.js, an extensions folder and per-site storage. Firefox loads exactly one profile per process, so that folder is the unit of isolation: everything inside it stays there, and nothing outside it leaks in.
Two systems manage those folders today, and understanding the split saves hours of debugging. That split matters most when you first stand up Firefox multiple browser profiles, because the picker you end up with depends on which system owns the profile you created.
The legacy layer: one flat text file
The original system is profiles.ini, a plain text registry. Each block lists a Name, a Path (usually relative, such as Profiles/abcd1234.work), a Default=1 flag that only one profile should carry, and — in current builds — a StoreID value. The file sits in different places depending on your OS:
| Platform | profiles.ini location |
|---|---|
| Windows | %APPDATA%\Mozilla\Firefox\profiles.ini |
| macOS | ~/Library/Application Support/Firefox/profiles.ini |
| Linux | ~/.mozilla/firefox/profiles.ini |
The common pattern behind reported “Firefox lost my data” cases is a broken entry in this file, not deleted data. Duplicate profile names, two Default=1 lines, a Path pointing at a folder that no longer exists, or an absent StoreID will each produce a profile that either fails to appear in a picker or opens looking brand new. Before editing this file by hand, know this: the folders themselves are usually intact. The registry is what is wrong.
The new layer: selectable profiles, StoreID and SQLite
Mozilla began rolling out its profile management feature on October 14, 2025, adding a startup picker with names, colors and avatars. Behind it, cross-profile UI metadata lives in a SQLite database using write-ahead logging, a design that gives real single-writer, multiple-reader concurrency instead of a flat file being rewritten by whichever instance opens first.
The bridge between the old and new systems is StoreID. A profile carries a storeId preference in its prefs, and profiles.ini carries a matching StoreID property. Profiles that share a StoreID form one group the new UI can coordinate. If the two values disagree, or the profiles.ini value is missing entirely, the profile can be perfectly healthy on disk and still invisible in the new picker.
Every major browser has some version of this path-and-flag bookkeeping, which is why a deliberate browser profile manager approach beats improvising: you want one place that knows where each identity lives and which one is default.
Step-by-Step: Create Firefox Multiple Browser Profiles
Work through these in order. Each step ends with a check, because a mistake in step 3 shows up as an empty browser in step 8.
- Back up your current Firefox data folder. Close Firefox, then copy the entire Firefox directory (the one containing profiles.ini) to an external drive or a dated folder. Check: you can see profiles.ini and at least one folder named something like xxxxxxxx.default-release in the copy.
- Confirm no Firefox process is running. Use Task Manager on Windows, Activity Monitor on macOS, or run ps aux | grep firefox on Linux. Check: nothing with “firefox” in the name is listed. A stray background instance will hijack your next launch.
- Open the Profile Manager. On Windows press Win+R and type firefox -p. On macOS run /Applications/Firefox.app/Contents/MacOS/firefox -p in Terminal. On Linux run firefox -p. The legacy manager shows plain profile names with no colors or icons. Check: a small “Choose User Profile” window appears rather than a normal browser window.
- Create each profile. Click Create Profile, then Next, then give it a name you’ll recognise in a launch list — “Work — Acme” is better than “Profile 2”. Click Finish. Repeat for every identity you need. Check: every new name appears in the manager’s list. Don’t click Start Firefox yet; you still need launch shortcuts.
- Or create profiles from inside Firefox. Type about:profiles in the address bar. This page works while Firefox is running and lets you create a profile, see its Root Directory path, set the default and launch a profile in a new browser. Click Create a New Profile, name it, then Finish. Check: the new entry shows a real directory path. Copy that path — you’ll need it for automation later.
- Set the default deliberately. On about:profiles, the profile without a “This is the profile in use” tag can be promoted with Set as default profile. That click rewrites the Default=1 line in profiles.ini. Check: reopen about:profiles and confirm the default marker sits under the profile you intended. A profile created through the new UI can silently take the default flag, and that is the usual reason you relaunch into an empty-looking browser.
- Pin one launcher per profile. On Windows, right-click firefox.exe, choose Send to → Desktop, then edit the shortcut Target to:
"C:\Program Files\Mozilla Firefox\firefox.exe" -P "Work — Acme" -no-remote
On macOS and Linux, build the equivalent shell alias or .desktop entry. Check: double-clicking the shortcut opens the right profile even when another profile is already running. - Verify the isolation actually holds. Open two profiles, log into the same site in both, and confirm each shows its own session. Then compare extensions and bookmarks between them. Check: an add-on installed in one profile is absent from the other, and bookmark lists differ. If they match, you launched the same profile twice.
Running Two Firefox Profiles at the Same Time
Firefox loads exactly one profile per process, so running several at once means running several instances. The switch that makes that possible is -no-remote. Without it, a second launch hands its URL to the instance already open and exits, which is why “my second profile won’t open” is almost always a missing flag rather than a broken profile. Get the arguments right and Firefox multiple browser profiles run side by side as genuinely independent windows.
The documented way to start a named profile directly, skipping the picker, is the -P flag followed by the profile name. Combine the two and each identity gets its own launcher:
| Action | Windows | macOS | Linux |
|---|---|---|---|
| Open Profile Manager | firefox -p | /Applications/Firefox.app/Contents/MacOS/firefox -p | firefox -p |
| Launch one named profile | firefox.exe -P “Name” -no-remote | …/firefox -P “Name” -no-remote | firefox -P “Name” -no-remote |
| Launch a profile from a path | firefox.exe -profile “C:\path\to\folder” -no-remote | …/firefox -profile “/path/to/folder” -no-remote | firefox -profile “/path/to/folder” -no-remote |
Two operational notes. profiles.ini is a single shared file, so edit it only when every Firefox process is closed; otherwise your changes can be overwritten when the running instance exits. And keep the quotes around profile names that contain spaces, in shortcuts and shell commands alike.
Containers vs Full Profiles: Which Do You Need?
Mozilla’s Multi-Account Containers extension predates profile support and solves a narrower problem: each container gets its own cookie jar and login session, so you can hold several accounts of the same service open at once. What a container does not give you is a separate extension list, a separate bookmark set, separate permissions or separate preferences — those are all instance-wide.
The models also differ from what other browsers do. A January 2026 comparison of the two approaches argues containers provide tab-level storage and network-cache isolation that Chrome’s profile setup does not, and Chrome’s own model separates cookies and history while sharing the rendering engine, GPU process and DNS cache — with globally installed extensions running in every profile. That combination makes containers a reasonable pick for authenticated sessions that share one identity.
| What’s separated | Containers | Separate profiles |
|---|---|---|
| Cookies and login sessions | Per container tab | Per profile |
| Bookmarks and history | Shared | Separate |
| Extensions and permissions | Shared | Separate |
| Preferences and settings | Shared | Separate |
| Concurrent instances | One Firefox process | One process per profile, with -no-remote |
| Best for | Several logins to the same site in one window | Distinct client, work or personal identities |
If you need the detail behind the tab-level model, this Firefox containers guide walks through how container storage and cookie separation behave in practice. The short rule: containers for many logins, profiles for many identities.
Six Pitfalls That Break Firefox Multi-Profile Setups
1. Mixing new-UI profiles with legacy ones
This pattern catches people who set things up correctly. Profiles built through about:profiles or the legacy manager live on the old registry; profiles created through the new picker carry StoreID values. In one write-up, eight profiles created through about:profiles over three weeks showed no data loss or misconfiguration — until new-UI profiles were mixed in, after which profiles were invisible in the picker while still launching from the command line. That is one environment, not a platform-wide defect count, but the safe rule is simple: keep every profile inside one system, and if a profile disappears from the picker while -P still works, inspect StoreID before touching anything else.
2. The default profile changes without you asking
After creating a profile through the new UI, Firefox can end up treating that fresh profile as the default. You relaunch and get an empty-looking browser with no bookmarks. Check the Default=1 line in profiles.ini: exactly one profile should carry it, and it should be the one you actually use daily. Fix it by setting the default from about:profiles rather than editing text, then confirm the marker moved.
3. Deleting a profile deletes everything in it
Removing a profile from about:profiles removes its data — bookmarks, saved passwords, add-ons, site logins. There is no recycle bin. If you want the folder gone but the identity recoverable, move the directory somewhere else and leave the profiles.ini block in place, or delete the block and keep the folder. Decide which before you click Remove.
4. Forgetting -no-remote
Launch a second profile without the flag and Firefox funnels the request into the running instance. You then log into a client account inside the wrong profile and may not notice for days. Give each identity its own shortcut with the flag baked in, and test by opening two at once and comparing bookmark bars.
5. “Your Firefox profile cannot be loaded”
This error usually means Firefox can see the registry entry but not a usable profile directory. Start with the cache — ~/.cache/mozilla on Linux, the equivalent hidden cache folder on macOS and Windows — which is the documented first fix for this error and leaves the profile folder itself alone. If Firefox still refuses to start, open profiles.ini and check that every Path value points at a folder that exists. clearing the Firefox cache walks through that first repair in more detail.
6. A profile folder with no registry entry
The reverse failure happens too: the folder is on disk, complete with your logins, but no block in profiles.ini points at it, so no picker will ever show it. Recover it by adding a profile block with a Name and a Path aimed at that folder, then relaunch. Check the other direction as well — duplicate names and a second Default=1 line confuse the picker just as badly as a missing entry.
Automating Multiple Firefox Profiles
If you drive profiles from Selenium, point each driver at one profile directory and never share that directory between two running drivers. Firefox’s own databases assume a single writer; two instances on the same folder will either corrupt state or fail to start. Selenium accepts the same -profile and -no-remote arguments you’d use in a shortcut, and proxy settings go in through documented preferences:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
PROFILE_DIR = "/home/you/.mozilla/firefox/abcd1234.work" # copy it from about:profiles
options = Options()
options.add_argument("-profile")
options.add_argument(PROFILE_DIR)
options.add_argument("-no-remote") # let this instance run alongside the others
options.set_preference("network.proxy.type", 1)
options.set_preference("network.proxy.socks", "127.0.0.1")
options.set_preference("network.proxy.socks_port", 1080)
options.set_preference("network.proxy.socks_remote_dns", True)
driver = webdriver.Firefox(options=options)
driver.get("https://example.com")
print(driver.execute_script("return navigator.userAgent"))
driver.quit()
Run one process per profile, each with its own PROFILE_DIR, and stagger the starts by a second or two so they don’t contend for the shared profiles.ini at the same moment. If you want the wider picture of scripted profiles, this walkthrough of multiple profiles with Selenium covers session handling, headless trade-offs and cleanup. Send.win also ships a local Automation API for Selenium, Puppeteer and Playwright, which sits on the Team plan and lets you attach to a managed profile instead of hand-building launch arguments.
Where Firefox Profiles Stop Isolating You
Profiles separate stored data. They do not separate the machine websites see. Two Firefox profiles on the same laptop report the same canvas hash, the same WebGL renderer string, the same font list, the same screen dimensions and the same WebRTC address. A fingerprinting script can link those profiles even though their cookies never touch, which is how account networks get grouped by anti-fraud systems. That is the ceiling of Firefox multiple browser profiles: clean data separation without any identity separation.
Firefox’s built-in privacy protections lower how much a page can read, but they apply to the whole installation rather than to one profile, so they cannot give profile A a different fingerprint from profile B. Per-account separation needs two things per profile: a distinct fingerprint and a network path that matches it. That pairing is what Send.win handles. Sendwin Browser spoofs canvas, WebGL, audio, fonts and hardware at the engine level — not through script injection that a browser update can break — and keeps each profile’s signals coherent, so no two profiles present the same machine. Residential proxies are included on every plan, and timezone, locale, WebRTC and geolocation follow the proxy’s exit IP automatically. Desktop profiles run in the installed Sendwin Browser on Windows, macOS and Linux; the cloud browser runs the same profiles on EU or US nodes from any device, with a free 10-minute daily preview. If you want the proxy side worked out first, this guide to browser profiles with proxies maps one profile to one exit IP without the guesswork.
🏆 Send.win Verdict
Firefox profiles do their job well: clean separation of cookies, logins, extensions and history, free, with a proper picker since October 2025. They stop at fingerprint isolation, which is the gap that matters when several profiles log into one platform from a single machine. Send.win closes it — every profile gets its own coherent fingerprint and its own residential proxy, with no script injection to break on the next browser update.
Try Send.win free today — 30 days at $0, cancel anytime, 10 profiles and 1 GB of residential proxy bandwidth included; your local profiles stay on your machine.
Frequently Asked Questions
How do I create a new profile in Firefox?
Either open the Profile Manager with firefox -p and click Create Profile, or type about:profiles in a running Firefox and click Create a New Profile. Name it something recognisable, finish the wizard, then set your default profile deliberately so the new one doesn’t quietly take over the profile Firefox opens on launch.
Can I run two Firefox profiles at the same time?
Yes, but you need one instance per profile. Add -no-remote to the launch command or shortcut, otherwise the second launch hands its URL to the instance already running. Combine it with -P “ProfileName” so each shortcut opens its intended profile directly and skips the picker.
How do I open the Firefox Profile Manager on Windows?
Press Win+R, type firefox -p and hit Enter, with every Firefox window closed. The same flag works as firefox -ProfileManager. The legacy manager shows plain profile names with no colors or icons, which is expected — it hasn’t been redesigned to match the newer picker.
What is the difference between Firefox profiles and containers?
Containers separate cookies and login sessions per tab inside a single Firefox process; bookmarks, history, extensions and preferences stay shared. Profiles are whole data directories, so all of those stay separate too. Containers are quicker for many logins to one service; profiles are the right unit for genuinely distinct identities.
Why did my Firefox profile disappear from the selector?
Most often the profile is fine on disk but unreachable by the picker. That happens when the storeId preference inside the profile and the StoreID value in profiles.ini don’t match, or when legacy and new-UI profiles are mixed in the same installation. Test by launching the profile directly with firefox -P “Name”: if it opens, the data is intact and only the registry entry needs fixing.
Where is the Firefox profiles.ini file stored?
On Windows it’s %APPDATA%\Mozilla\Firefox\profiles.ini, on macOS ~/Library/Application Support/Firefox/profiles.ini and on Linux ~/.mozilla/firefox/profiles.ini. The file lists each profile’s name, relative path, Default flag and StoreID. Back it up before editing, and never edit it while Firefox is open.
How do I fix “Your Firefox profile cannot be loaded”?
Clear the cache directory first — ~/.cache/mozilla on Linux, or the equivalent hidden cache folder on Windows and macOS — which is the documented first fix for this error. If that doesn’t help, open profiles.ini and check that each Path points at a folder that exists. A folder on disk with no matching entry can be restored by adding a profile block by hand.
Can Firefox profiles share extensions and bookmarks?
Not directly. Extensions, bookmarks, history and preferences live inside each profile folder, so each profile starts with its own set. If you want shared add-ons with per-tab login separation, containers are the better fit. If you want two identities with the same extension stack, install it in each profile once.
How Send.win Helps With Firefox Multiple Browser Profiles
Send.win is an antidetect browser built for exactly this kind of work — every profile is a clean, isolated identity:
- Isolated profiles – unique fingerprint, separate cookies and storage per profile
- Stealth engine – canvas, WebGL, fonts, and audio spoofed at the engine level
- Desktop app + cloud sessions – native app for Windows, macOS, and Linux, or run profiles in the cloud with no install
- Built-in residential proxies – with automatic timezone, locale, and WebRTC matching
- Team features – share logged-in profiles with teammates without sharing passwords
Try the instant cloud browser demo — no install, no signup — or download the desktop app. The 30-day free trial needs no credit card, and paid plans start at $6.99/month billed annually (see pricing).