Skip to main content
The Bitwarden browser extension is a cross-platform password manager built using the Web Extension API and Angular. It provides secure password management, autofill capabilities, and vault access directly from the browser.

Supported Browsers

The extension supports all major browsers:
  • Chrome - Chrome Web Store
  • Firefox - Firefox Add-ons
  • Safari - App Store (macOS)
  • Edge - Microsoft Edge Add-ons
  • Opera - Opera Add-ons
  • Vivaldi - Chrome Web Store compatible
  • Brave - Chrome Web Store compatible

Manifest V3

The browser extension uses Web Extension API Manifest V3, the latest extension platform standard. Manifest V3 brings significant architectural changes:

Key Changes from Manifest V2

  • Service Workers replace persistent background pages
  • Background context can be terminated at any time by the browser
  • Enhanced security and privacy controls
  • Improved extension performance
See Manifest V3 Migration for detailed information about the differences and migration.

Architecture

The extension is organized into distinct execution contexts:

Execution Contexts

  • Background Service Worker (src/platform/background.ts) - Handles core business logic, API calls, and vault operations
  • Popup (src/popup/) - The main UI shown when clicking the extension icon
  • Content Scripts (src/autofill/) - Injected into web pages for autofill and form detection
  • Offscreen Documents - Used for clipboard operations in Manifest V3

Cross-Browser Compatibility

The codebase uses the BrowserApi abstraction layer (src/platform/browser/browser-api.ts) to handle browser-specific differences:
This abstraction ensures compatibility across Chrome, Firefox, Safari, Opera, and other Chromium-based browsers.

Source Code Structure

Browser-Specific Features

Safari

Safari has unique requirements and limitations:
  • Requires manual event listener cleanup to prevent memory leaks
  • Tab query APIs can return unexpected results across windows
  • Native messaging for clipboard operations
See the Architecture page for Safari-specific patterns.

Firefox

Firefox supports both Manifest V2 and V3:
  • Uses browser.* API namespace (Web Extensions API)
  • Sidebar action support
  • Android support for Firefox Mobile

Build Targets

The extension can be built for different browsers and manifest versions:
See Building for complete build instructions.

Development Mode

For active development with automatic rebuilding:

Next Steps