On macOS Sequoia (alas, only, not iOS 18) the new Passwords.app can import passwords from a text file. I used it to move in decades of passwords from the venerable PasswordWallet. But it took some trial and error to make it work. In brief, you need a csv file with the appropriate headers and columns. I wrote up the details at the link below; the info should be useful no matter what password utility you’re coming from.
If you’re talking about actively syncing between Firefox passwords and Apple’s Passwords.app, in other words changing a password in one environment and having it sync automatically to the other environment, I don’t think there is any way to do that without third party plugins at the moment. I’ve heard rumors that Apple is working on a Firefox plugin, but I don’t know how reliable they are.
On the other hand, it is straightforward to export passwords from Firefox manually, import them into Apple’s Passwords.app on a Mac, and then have iCloud sync the passwords in your Mac and iPhone Passwords apps. You also can export manually from the Mac’s Password.app and import the resulting file into Firefox. Depending on how often you change passwords, that may be an adequate solution for keeping Firefox and your Apple passwords in sync.
If it were me, I’d transfer all the passwords from Firefox to Apple’s Passwords and then use the iCloud Passwords add-on for Firefox. I’m not a fan of password management capabilities limited to a single browser.
I agree that would be the best strategy, but the status of the linked extension is a bit murky.
The extension originally was an open-source project by a third-party developer, but Apple seems to be planning to use it as the basis of a forthcoming “official” extension. In the meantime, the original developer seems ambivalent about working on the original source code for understandable reasons.
Perhaps I’m being too much of a worrier, but until there is an official Apple release, I’d be hesitant to use the extension for something as sensitive as password synchronization. Scroll down the following github discussion for more details: