SOLFIND
Web Lens
Portal home

Browser extensions - Mozilla | MDN

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions • 167 KB fetched
Open original page


Browser extensions - Mozilla | MDN * Skip to main content * Skip to search HTML HTML: Markup language HTML reference * Elements * Global attributes * Attributes * See all… HTML guides * Responsive images * HTML cheatsheet * Date & time formats * See all… Markup languages * SVG * MathML * XML CSS CSS: Styling language CSS reference * Properties * Selectors * At-rules * Values * See all… CSS guides * Box model * Animations * Flexbox * Colors * See all… Layout cookbook * Column layouts * Centering an element * Card component * See all… JavaScript JS JavaScript: Scripting language JS reference * Standard built-in objects * Expressions & operators * Statements & declarations * Functions * See all… JS guides * Control flow & error handing * Loops and iteration * Working with objects * Using classes * See all… Web APIs Web APIs: Programming interfaces Web API reference * File system API * Fetch API * Geolocation API * HTML DOM API * Push API * Service worker API * See all… Web API guides * Using the Web animation API * Using the Fetch API * Working with the History API * Using the Web speech API * Using web workers All All web technology Technologies * Accessibility * HTTP * URI * Web extensions * WebAssembly * WebDriver * See all… Topics * Media * Performance * Privacy * Security * Progressive web apps Learn Learn web development Frontend developer course * Getting started modules * Core modules * MDN Curriculum * Check out the video course from Scrimba, our partner Learn HTML * Structuring content with HTML module Learn CSS * CSS styling basics module * CSS layout module Learn JavaScript * Dynamic scripting with JavaScript module Tools Discover our tools * Playground * HTTP Observatory * Border-image generator * Border-radius generator * Box-shadow generator * Color format converter * Color mixer * Shape generator About Get to know MDN better * About MDN * Advertise with us * Community * MDN on GitHub Blog Toggle sidebar * Mozilla * Add-ons * Browser extensions Theme * OS default * Light * Dark English (US) Remember language Learn more * Deutsch * English (US) * Español * Français * 日本語 * 한국어 * Português (do Brasil) * Русский * 中文 (简体) * 正體中文 (繁體) Browser extensions Extensions, or add-ons, can modify and enhance the capability of a browser. Extensions for Firefox are built using the WebExtensions API cross-browser technology. The technology for extensions in Firefox is, to a large extent, compatible with the extension API supported by Chromium-based browsers (such as Google Chrome, Microsoft Edge, Opera, Vivaldi). In most cases, extensions written for Chromium-based browsers run in Firefox with just a few changes . In this article * Key resources * Get started * Concepts * User interface * How to * Firefox workflow * Reference Key resources Guides Whether you're just beginning or looking for more advanced advice, learn about how extensions work and use the WebExtensions API from our extensive range of tutorials and guides . References Get comprehensive details about the methods, properties, types, and events of the WebExtensions APIs and full details about the manifest keys . Firefox workflow Discover how to build and publish extensions for Firefox: get the lowdown on developer tools, publication and distribution, and porting on Extension Workshop . Note: If you have ideas or questions or need help, you can reach us on the community forum or in the Add-ons Room on Matrix . Get started Discover what extensions can do before building your first extension and your second extension . Learn about the anatomy of an extension and get an overview of the extension development and publication workflow, Firefox style . Explore a little deeper with a comprehensive selection of example extensions that you can run right in Firefox. Continue your learning by discovering a list of resources to follow. Concepts Get detailed information on the concepts that underpin extensions. * Overview of the JavaScript API * Content scripts * Background scripts * Match patterns * Working with files * Internationalization * Content security policy * Native messaging * Native manifests * User actions * Differences between API implementations * Chrome incompatibilities User interface Discover all the user interface components you can use in your extensions, with coding examples and tips. How to A range of tutorials to get you started on specific aspects of extension development. * Intercept HTTP requests * Modify a web page * Safely insert external content into a page * Share objects with page scripts * Add a button to the toolbar * Implement a settings page * Work with the Tabs API * Work with the Bookmarks API * Work with the Cookies API * Work with contextual identities * Interact with the clipboard * Extend the developer tools * Build a cross-browser extension Firefox workflow When you are ready to create your extension for Firefox or port your Chrome extension, head over to Extension Workshop . It has details on: * The Firefox workflow, such as temporarily installing extensions during development , debugging , request the right permissions , and more. * The web-ext developer tool. * Porting a Google Chrome extension , differences between desktop and Android , and more. * Publishing and distribution overview , promoting your extension , the extension lifecycle best practices , and more. Reference JavaScript APIs Get comprehensive details about the methods, properties, types, and events for all the JavaScript APIs . There is also detailed information about the compatibility of each API with the major browsers. Most reference pages also include coding examples and links to the extension examples that use the API. Manifest keys Get full details about the manifest keys , including all their properties and settings. Help improve MDN Yes No Learn how to contribute This page was last modified on Jul 17, 2025 by MDN contributors . View this page on GitHub • Report a problem with this content Clear filter input * Browser extensions * Getting started * What are extensions? * Your first extension * Your second extension * Anatomy of an extension * Example extensions * What next? * Concepts * JavaScript APIs * Content scripts * Background scripts * Match patterns * Work with files * Internationalization * Content Security Policy * Native messaging * Native manifests * User actions * Differences between API implementations * Chrome incompatibilities * User interface * Toolbar button * Address bar button * Sidebars * Context menu items * Options page * Extension pages * Notifications * Address bar suggestions * devtools panels * Browser styles * Popups * How to * Intercept HTTP requests * Modify a web page * Insert external content * Share objects with page scripts * Add a button to the toolbar * Implement a settings page * Work with documentId * Work with the Tabs API * Work with the Bookmarks API * Work with the Cookies API * Work with contextual identities * Interact with the clipboard * Use Web Authn API in web extensions * Extend the developer tools * Build a cross-browser extension * JavaScript APIs * Browser support for JavaScript APIs * action * alarms * bookmarks * browserAction * browserSettings * browsingData * captivePortal * clipboard * commands * contentScripts * contextualIdentities * cookies * declarativeNetRequest * devtools * dns * dom * downloads * events * extension * extensionTypes * find * history * i18n * identity * idle * management * menus * notifications * omnibox * pageAction * permissions * pkcs11 * privacy * proxy * publicSuffix * runtime * scripting * search * sessions * sidebarAction * storage * tabGroups * tabs * theme * topSites * types * userScripts * userScripts (Legacy) * webNavigation * webRequest * windows * Manifest keys * action * author * background * browser_action * browser_specific_settings * chrome_settings_overrides * chrome_url_overrides * commands * content_scripts * content_security_policy * dark_theme * declarative_net_request * default_locale * description * developer * devtools_page * dictionaries * externally_connectable * homepage_url * host_permissions * icons * incognito * manifest_version * name * omnibox * optional_host_permissions * optional_permissions * options_page * options_ui * page_action * permissions * protocol_handlers * sandbox * short_name * sidebar_action * storage * theme * theme_experiment * user_scripts * version * version_name * web_accessible_resources * Extension Workshop * Develop * Publish * Manage * Enterprise * Contact us * Channels * Add-ons blog * Add-ons forum * Add-ons chat Your blueprint for a better internet. * * * * * MDN * About * Blog * Mozilla careers * Advertise with us * MDN Plus * Product help Contribute * MDN Community * Community resources * Writing guidelines * MDN Discord * MDN on GitHub Developers * Web technologies * Learn web development * Guides * Tutorials * Glossary * Hacks blog * Website Privacy Notice * Telemetry Settings * Legal * Community Participation Guidelines Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license .

Links found on this page

  1. Skip to main content [direct]
  2. HTML: Markup language [direct]
  3. Elements [direct]
  4. Global attributes [direct]
  5. Attributes [direct]
  6. See all… [direct]
  7. Responsive images [direct]
  8. HTML cheatsheet [direct]
  9. Date & time formats [direct]
  10. See all… [direct]
  11. SVG [direct]
  12. MathML [direct]
  13. XML [direct]
  14. CSS: Styling language [direct]
  15. Properties [direct]
  16. Selectors [direct]
  17. At-rules [direct]
  18. Values [direct]
  19. See all… [direct]
  20. Box model [direct]
  21. Animations [direct]
  22. Flexbox [direct]
  23. Colors [direct]
  24. See all… [direct]
  25. Column layouts [direct]
  26. Centering an element [direct]
  27. Card component [direct]
  28. See all… [direct]
  29. JavaScript: Scripting language [direct]
  30. Standard built-in objects [direct]
  31. Expressions & operators [direct]
  32. Statements & declarations [direct]
  33. Functions [direct]
  34. See all… [direct]
  35. Control flow & error handing [direct]
  36. Loops and iteration [direct]
  37. Working with objects [direct]
  38. Using classes [direct]
  39. See all… [direct]
  40. Web APIs: Programming interfaces [direct]
  41. File system API [direct]
  42. Fetch API [direct]
  43. Geolocation API [direct]
  44. HTML DOM API [direct]
  45. Push API [direct]
  46. Service worker API [direct]
  47. Using the Web animation API [direct]
  48. Using the Fetch API [direct]
  49. Working with the History API [direct]
  50. Using the Web speech API [direct]
  51. Using web workers [direct]
  52. All web technology [direct]
  53. Accessibility [direct]
  54. HTTP [direct]
  55. URI [direct]
  56. WebAssembly [direct]
  57. WebDriver [direct]
  58. Media [direct]
  59. Performance [direct]
  60. Privacy [direct]
  61. Security [direct]
  62. Progressive web apps [direct]
  63. Learn web development [direct]
  64. Getting started modules [direct]
  65. Core modules [direct]
  66. MDN Curriculum [direct]
  67. Check out the video course from Scrimba, our partner [direct]
  68. Structuring content with HTML module [direct]
  69. CSS styling basics module [direct]
  70. CSS layout module [direct]
  71. Dynamic scripting with JavaScript module [direct]
  72. Playground [direct]
  73. HTTP Observatory [direct]
  74. Border-image generator [direct]
  75. Border-radius generator [direct]
  76. Box-shadow generator [direct]
  77. Color format converter [direct]
  78. Color mixer [direct]
  79. Shape generator [direct]
  80. About MDN [direct]