chrome iconfirefox iconedge icon

Browsers Available

Warning: This feature is a work in progress and may be incomplete or subject to change. If you see an error or something that could be improved, please make a pull-request. The link that documents this feature can be found at the bottom of the page.

Extension.js provides support for a variety of browsers, enabling you to easily develop and test your extensions across multiple platforms, detecting browser binaries and launching the selected browser with your extension loaded. The plugin also supports custom profiles, browser preferences, flags, and more.

How Does It Work?

To launch your extension in a specific browser, Extension.js uses the browser's binary path to open a new instance with your extension loaded. For supported browsers (Chrome, Edge, Firefox) you can specify the browser to use by passing the --browser flag with the desired browser name. For other browsers, you can specify the path to the browser binary using the --chromium-binary or --gecko-binary flags, depending on the engine used by the browser.

Supported Browsers

The following browsers are officially supported by Extension.js:

Browser Usage
Chrome extension dev --browser=chrome
Edge extension dev --browser=edge
Firefox extension dev --browser=firefox
Chromium-based extension dev --chromium-binary=chromium-based=browser-path
Gecko-based extension dev --gecko-binary=gecko-based-browser-path

Any browser based on the Chromium engine (e.g., Brave or Opera) is supported with the same configuration options as Chrome.

Best Practices

  • Use Custom Profiles: Keep separate profiles for each browser during development for isolated testing.
  • Polyfill for Compatibility: Ensure your extension works across older browsers by using the --polyfill flag.
  • Browser Flags: Use browser flags to enable or disable features for specific testing scenarios, like --disable-extensions for clean testing environments.

Next Steps