# WXT > Next-gen Web Extension Framework An open source tool that makes web extension development faster than ever before. ## Table of Contents ### Get Started - [Welcome to WXT](/guide/introduction.md) - [Installation](/guide/installation.md) ### Essentials - [Project Structure](/guide/essentials/project-structure.md) - [Entrypoints](/guide/essentials/entrypoints.md) - [Extension APIs](/guide/essentials/extension-apis.md) - [Assets](/guide/essentials/assets.md) - [Targeting Different Browsers](/guide/essentials/target-different-browsers.md) - [Content Scripts](/guide/essentials/content-scripts.md) - [Storage](/guide/essentials/storage.md) - [Messaging](/guide/essentials/messaging.md) - [I18n](/guide/essentials/i18n.md) - [Scripting](/guide/essentials/scripting.md) - [WXT Modules](/guide/essentials/wxt-modules.md) - [Frontend Frameworks](/guide/essentials/frontend-frameworks.md) - [ES Modules](/guide/essentials/es-modules.md) - [Remote Code](/guide/essentials/remote-code.md) - [Unit Testing](/guide/essentials/unit-testing.md) - [E2E Testing](/guide/essentials/e2e-testing.md) - [Publishing](/guide/essentials/publishing.md) - [Testing Updates](/guide/essentials/testing-updates.md) #### Configuration - [Manifest](/guide/essentials/config/guide/essentials/config/manifest.md) - [Browser Startup](/guide/essentials/config/guide/essentials/config/browser-startup.md) - [Auto-imports](/guide/essentials/config/guide/essentials/config/auto-imports.md) - [Environment Variables](/guide/essentials/config/guide/essentials/config/environment-variables.md) - [Runtime Config](/guide/essentials/config/guide/essentials/config/runtime.md) - [Vite](/guide/essentials/config/guide/essentials/config/vite.md) - [Build Modes](/guide/essentials/config/guide/essentials/config/build-mode.md) - [TypeScript Configuration](/guide/essentials/config/guide/essentials/config/typescript.md) - [Hooks](/guide/essentials/config/guide/essentials/config/hooks.md) - [Entrypoint Loaders](/guide/essentials/config/guide/essentials/config/entrypoint-loaders.md) ### Resources - [Compare](/guide/resources/compare.md) - [FAQ](/guide/resources/faq.md) - [Community](/guide/resources/community.md) - [Upgrading WXT](/guide/resources/upgrading.md) - [Migrate to WXT](/guide/resources/migrate.md) - [How WXT Works](/guide/resources/how-wxt-works.md) ### CLI Reference - [`wxt`](/api/cli/wxt.md) - [`wxt build`](/api/cli/wxt-build.md) - [`wxt zip`](/api/cli/wxt-zip.md) - [`wxt prepare`](/api/cli/wxt-prepare.md) - [`wxt clean`](/api/cli/wxt-clean.md) - [`wxt init`](/api/cli/wxt-init.md) - [`wxt submit`](/api/cli/wxt-submit.md) - [`wxt submit init`](/api/cli/wxt-submit-init.md) ### API Reference - [Module: wxt](/api/reference/wxt.md) - [Module: wxt/modules](/api/reference/wxt/modules.md) - [Module: wxt/testing](/api/reference/wxt/testing.md) - [Module: wxt/testing/fake-browser](/api/reference/wxt/testing/fake-browser.md) - [Module: wxt/testing/vitest](/api/reference/wxt/testing/vitest.md) - [Module: wxt/utils/app-config](/api/reference/wxt/utils/app-config.md) - [Module: wxt/utils/content-script-context](/api/reference/wxt/utils/content-script-context.md) - [Module: wxt/utils/content-script-ui/iframe](/api/reference/wxt/utils/content-script-ui/iframe.md) - [Module: wxt/utils/content-script-ui/integrated](/api/reference/wxt/utils/content-script-ui/integrated.md) - [Module: wxt/utils/content-script-ui/shadow-root](/api/reference/wxt/utils/content-script-ui/shadow-root.md) - [Module: wxt/utils/content-script-ui/types](/api/reference/wxt/utils/content-script-ui/types.md) - [Module: wxt/utils/define-app-config](/api/reference/wxt/utils/define-app-config.md) - [Module: wxt/utils/define-background](/api/reference/wxt/utils/define-background.md) - [Module: wxt/utils/define-content-script](/api/reference/wxt/utils/define-content-script.md) - [Module: wxt/utils/define-unlisted-script](/api/reference/wxt/utils/define-unlisted-script.md) - [Module: wxt/utils/define-wxt-plugin](/api/reference/wxt/utils/define-wxt-plugin.md) - [Module: wxt/utils/inject-script](/api/reference/wxt/utils/inject-script.md) - [Module: wxt/utils/match-patterns](/api/reference/wxt/utils/match-patterns.md) - [Module: wxt/utils/split-shadow-root-css](/api/reference/wxt/utils/split-shadow-root-css.md) - [Module: wxt/utils/storage](/api/reference/wxt/utils/storage.md) #### wxt ##### Interfaces 52 - [Interface: BackgroundDefinition](/api/reference/wxt/interfaces/BackgroundDefinition.md) - [Interface: BackgroundEntrypoint](/api/reference/wxt/interfaces/BackgroundEntrypoint.md) - [Interface: BackgroundEntrypointOptions](/api/reference/wxt/interfaces/BackgroundEntrypointOptions.md) - [Interface: BaseContentScriptEntrypointOptions](/api/reference/wxt/interfaces/BaseContentScriptEntrypointOptions.md) - [Interface: BaseEntrypoint](/api/reference/wxt/interfaces/BaseEntrypoint.md) - [Interface: BaseEntrypointOptions](/api/reference/wxt/interfaces/BaseEntrypointOptions.md) - [Interface: BaseScriptEntrypointOptions](/api/reference/wxt/interfaces/BaseScriptEntrypointOptions.md) - [Interface: BuildOutput](/api/reference/wxt/interfaces/BuildOutput.md) - [Interface: BuildStepOutput](/api/reference/wxt/interfaces/BuildStepOutput.md) - [Interface: ConfigEnv](/api/reference/wxt/interfaces/ConfigEnv.md) - [Interface: ContentScriptEntrypoint](/api/reference/wxt/interfaces/ContentScriptEntrypoint.md) - [Interface: CopiedPublicFile](/api/reference/wxt/interfaces/CopiedPublicFile.md) - [Interface: Dependency](/api/reference/wxt/interfaces/Dependency.md) - [Interface: EntrypointInfo](/api/reference/wxt/interfaces/EntrypointInfo.md) - [Interface: Eslintrc](/api/reference/wxt/interfaces/Eslintrc.md) - [Interface: ExtensionRunner](/api/reference/wxt/interfaces/ExtensionRunner.md) - [Interface: FsCache](/api/reference/wxt/interfaces/FsCache.md) - [Interface: GeneratedPublicFile](/api/reference/wxt/interfaces/GeneratedPublicFile.md) - [Interface: GenericEntrypoint](/api/reference/wxt/interfaces/GenericEntrypoint.md) - [Interface: InlineConfig](/api/reference/wxt/interfaces/InlineConfig.md) - [Interface: IsolatedWorldContentScriptDefinition](/api/reference/wxt/interfaces/IsolatedWorldContentScriptDefinition.md) - [Interface: IsolatedWorldContentScriptEntrypointOptions](/api/reference/wxt/interfaces/IsolatedWorldContentScriptEntrypointOptions.md) - [Interface: Logger](/api/reference/wxt/interfaces/Logger.md) - [Interface: MainWorldContentScriptDefinition](/api/reference/wxt/interfaces/MainWorldContentScriptDefinition.md) - [Interface: MainWorldContentScriptEntrypointOptions](/api/reference/wxt/interfaces/MainWorldContentScriptEntrypointOptions.md) - [Interface: OptionsEntrypoint](/api/reference/wxt/interfaces/OptionsEntrypoint.md) - [Interface: OptionsEntrypointOptions](/api/reference/wxt/interfaces/OptionsEntrypointOptions.md) - [Interface: OutputAsset](/api/reference/wxt/interfaces/OutputAsset.md) - [Interface: OutputChunk](/api/reference/wxt/interfaces/OutputChunk.md) - [Interface: PopupEntrypoint](/api/reference/wxt/interfaces/PopupEntrypoint.md) - [Interface: PopupEntrypointOptions](/api/reference/wxt/interfaces/PopupEntrypointOptions.md) - [Interface: ReloadContentScriptPayload](/api/reference/wxt/interfaces/ReloadContentScriptPayload.md) - [Interface: ResolvedBasePublicFile](/api/reference/wxt/interfaces/ResolvedBasePublicFile.md) - [Interface: ResolvedConfig](/api/reference/wxt/interfaces/ResolvedConfig.md) - [Interface: ResolvedEslintrc](/api/reference/wxt/interfaces/ResolvedEslintrc.md) - [Interface: ServerInfo](/api/reference/wxt/interfaces/ServerInfo.md) - [Interface: SidepanelEntrypoint](/api/reference/wxt/interfaces/SidepanelEntrypoint.md) - [Interface: SidepanelEntrypointOptions](/api/reference/wxt/interfaces/SidepanelEntrypointOptions.md) - [Interface: ThemeIcon](/api/reference/wxt/interfaces/ThemeIcon.md) - [Interface: UnlistedScriptDefinition](/api/reference/wxt/interfaces/UnlistedScriptDefinition.md) - [Interface: UnlistedScriptEntrypoint](/api/reference/wxt/interfaces/UnlistedScriptEntrypoint.md) - [Interface: WebExtConfig](/api/reference/wxt/interfaces/WebExtConfig.md) - [Interface: Wxt](/api/reference/wxt/interfaces/Wxt.md) - [Interface: WxtBuilder](/api/reference/wxt/interfaces/WxtBuilder.md) - [Interface: WxtBuilderServer](/api/reference/wxt/interfaces/WxtBuilderServer.md) - [Interface: WxtDevServer](/api/reference/wxt/interfaces/WxtDevServer.md) - [Interface: WxtDirFileEntry](/api/reference/wxt/interfaces/WxtDirFileEntry.md) - [Interface: WxtDirTypeReferenceEntry](/api/reference/wxt/interfaces/WxtDirTypeReferenceEntry.md) - [Interface: WxtHooks](/api/reference/wxt/interfaces/WxtHooks.md) - [Interface: WxtModule``](/api/reference/wxt/interfaces/WxtModule.md) - [Interface: WxtModuleWithMetadata``](/api/reference/wxt/interfaces/WxtModuleWithMetadata.md) - [Interface: WxtPackageManager](/api/reference/wxt/interfaces/WxtPackageManager.md) ##### Type Aliases 25 - [Type alias: ContentScriptDefinition](/api/reference/wxt/type-aliases/ContentScriptDefinition.md) - [Type alias: Entrypoint](/api/reference/wxt/type-aliases/Entrypoint.md) - [Type alias: EntrypointGroup](/api/reference/wxt/type-aliases/EntrypointGroup.md) - [Type alias: EslintGlobalsPropValue](/api/reference/wxt/type-aliases/EslintGlobalsPropValue.md) - [Type alias: ExtensionRunnerConfig](/api/reference/wxt/type-aliases/ExtensionRunnerConfig.md) - [Type alias: HookResult](/api/reference/wxt/type-aliases/HookResult.md) - [Type alias: OnContentScriptStopped](/api/reference/wxt/type-aliases/OnContentScriptStopped.md) - [Type alias: OutputFile](/api/reference/wxt/type-aliases/OutputFile.md) - [Type alias: PerBrowserMap``](/api/reference/wxt/type-aliases/PerBrowserMap.md) - [Type alias: PerBrowserOption``](/api/reference/wxt/type-aliases/PerBrowserOption.md) - [Type alias: ResolvedPerBrowserOptions``](/api/reference/wxt/type-aliases/ResolvedPerBrowserOptions.md) - [Type alias: ResolvedPublicFile](/api/reference/wxt/type-aliases/ResolvedPublicFile.md) - [Type alias: TargetBrowser](/api/reference/wxt/type-aliases/TargetBrowser.md) - [Type alias: TargetManifestVersion](/api/reference/wxt/type-aliases/TargetManifestVersion.md) - [Type alias: UserConfig](/api/reference/wxt/type-aliases/UserConfig.md) - [Type alias: UserManifest](/api/reference/wxt/type-aliases/UserManifest.md) - [Type alias: UserManifestFn](/api/reference/wxt/type-aliases/UserManifestFn.md) - [Type alias: WxtCommand](/api/reference/wxt/type-aliases/WxtCommand.md) - [Type alias: WxtDirEntry](/api/reference/wxt/type-aliases/WxtDirEntry.md) - [Type alias: WxtModuleOptions](/api/reference/wxt/type-aliases/WxtModuleOptions.md) - [Type alias: WxtModuleSetup``](/api/reference/wxt/type-aliases/WxtModuleSetup.md) - [Type alias: WxtPlugin](/api/reference/wxt/type-aliases/WxtPlugin.md) - [Type alias: WxtResolvedUnimportOptions](/api/reference/wxt/type-aliases/WxtResolvedUnimportOptions.md) - [Type alias: WxtUnimportOptions](/api/reference/wxt/type-aliases/WxtUnimportOptions.md) - [Type alias: WxtViteConfig](/api/reference/wxt/type-aliases/WxtViteConfig.md) ##### Variables 1 - [Variable: version](/api/reference/wxt/variables/version.md) ##### Functions 10 - [Function: build()](/api/reference/wxt/functions/build.md) - [Function: clean()](/api/reference/wxt/functions/clean.md) - [Function: createServer()](/api/reference/wxt/functions/createServer.md) - [Function: defineConfig()](/api/reference/wxt/functions/defineConfig.md) - [Function: defineRunnerConfig()](/api/reference/wxt/functions/defineRunnerConfig.md) - [Function: defineWebExtConfig()](/api/reference/wxt/functions/defineWebExtConfig.md) - [Function: initialize()](/api/reference/wxt/functions/initialize.md) - [Function: normalizePath()](/api/reference/wxt/functions/normalizePath.md) - [Function: prepare()](/api/reference/wxt/functions/prepare.md) - [Function: zip()](/api/reference/wxt/functions/zip.md) #### wxt/modules ##### Functions 7 - [Function: addAlias()](/api/reference/wxt/modules/functions/addAlias.md) - [Function: addEntrypoint()](/api/reference/wxt/modules/functions/addEntrypoint.md) - [Function: addImportPreset()](/api/reference/wxt/modules/functions/addImportPreset.md) - [Function: addPublicAssets()](/api/reference/wxt/modules/functions/addPublicAssets.md) - [Function: addViteConfig()](/api/reference/wxt/modules/functions/addViteConfig.md) - [Function: addWxtPlugin()](/api/reference/wxt/modules/functions/addWxtPlugin.md) - [Function: defineWxtModule()](/api/reference/wxt/modules/functions/defineWxtModule.md) #### wxt/testing ##### Type Aliases 1 - [Type alias: FakeBrowser](/api/reference/wxt/testing/type-aliases/FakeBrowser.md) ##### Variables 1 - [Variable: fakeBrowser](/api/reference/wxt/testing/variables/fakeBrowser.md) #### wxt/testing/vitest ##### Functions 1 - [Function: WxtVitest()](/api/reference/wxt/testing/vitest/functions/WxtVitest.md) #### wxt/utils/app-config ##### Functions 2 - [Function: getAppConfig()](/api/reference/wxt/utils/app-config/functions/getAppConfig.md) - [Function: useAppConfig()](/api/reference/wxt/utils/app-config/functions/useAppConfig.md) #### wxt/utils/content-script-context ##### Classes 1 - [Class: ContentScriptContext](/api/reference/wxt/utils/content-script-context/classes/ContentScriptContext.md) ##### Interfaces 1 - [Interface: WxtWindowEventMap](/api/reference/wxt/utils/content-script-context/interfaces/WxtWindowEventMap.md) #### wxt/utils/content-script-ui/iframe ##### Interfaces 1 - [Interface: IframeContentScriptUi``](/api/reference/wxt/utils/content-script-ui/iframe/interfaces/IframeContentScriptUi.md) ##### Type Aliases 1 - [Type alias: IframeContentScriptUiOptions``](/api/reference/wxt/utils/content-script-ui/iframe/type-aliases/IframeContentScriptUiOptions.md) ##### Functions 1 - [Function: createIframeUi()](/api/reference/wxt/utils/content-script-ui/iframe/functions/createIframeUi.md) #### wxt/utils/content-script-ui/integrated ##### Interfaces 1 - [Interface: IntegratedContentScriptUi``](/api/reference/wxt/utils/content-script-ui/integrated/interfaces/IntegratedContentScriptUi.md) ##### Type Aliases 1 - [Type alias: IntegratedContentScriptUiOptions``](/api/reference/wxt/utils/content-script-ui/integrated/type-aliases/IntegratedContentScriptUiOptions.md) ##### Functions 1 - [Function: createIntegratedUi()](/api/reference/wxt/utils/content-script-ui/integrated/functions/createIntegratedUi.md) #### wxt/utils/content-script-ui/shadow-root ##### Interfaces 1 - [Interface: ShadowRootContentScriptUi``](/api/reference/wxt/utils/content-script-ui/shadow-root/interfaces/ShadowRootContentScriptUi.md) ##### Type Aliases 1 - [Type alias: ShadowRootContentScriptUiOptions``](/api/reference/wxt/utils/content-script-ui/shadow-root/type-aliases/ShadowRootContentScriptUiOptions.md) ##### Functions 1 - [Function: createShadowRootUi()](/api/reference/wxt/utils/content-script-ui/shadow-root/functions/createShadowRootUi.md) #### wxt/utils/content-script-ui/types ##### Interfaces 8 - [Interface: AutoMount](/api/reference/wxt/utils/content-script-ui/types/interfaces/AutoMount.md) - [Interface: BaseMountFunctions](/api/reference/wxt/utils/content-script-ui/types/interfaces/BaseMountFunctions.md) - [Interface: ContentScriptAnchoredOptions](/api/reference/wxt/utils/content-script-ui/types/interfaces/ContentScriptAnchoredOptions.md) - [Interface: ContentScriptInlinePositioningOptions](/api/reference/wxt/utils/content-script-ui/types/interfaces/ContentScriptInlinePositioningOptions.md) - [Interface: ContentScriptModalPositioningOptions](/api/reference/wxt/utils/content-script-ui/types/interfaces/ContentScriptModalPositioningOptions.md) - [Interface: ContentScriptOverlayPositioningOptions](/api/reference/wxt/utils/content-script-ui/types/interfaces/ContentScriptOverlayPositioningOptions.md) - [Interface: ContentScriptUi``](/api/reference/wxt/utils/content-script-ui/types/interfaces/ContentScriptUi.md) - [Interface: MountFunctions](/api/reference/wxt/utils/content-script-ui/types/interfaces/MountFunctions.md) ##### Type Aliases 6 - [Type alias: AutoMountOptions](/api/reference/wxt/utils/content-script-ui/types/type-aliases/AutoMountOptions.md) - [Type alias: ContentScriptAppendMode](/api/reference/wxt/utils/content-script-ui/types/type-aliases/ContentScriptAppendMode.md) - [Type alias: ContentScriptOverlayAlignment](/api/reference/wxt/utils/content-script-ui/types/type-aliases/ContentScriptOverlayAlignment.md) - [Type alias: ContentScriptPositioningOptions](/api/reference/wxt/utils/content-script-ui/types/type-aliases/ContentScriptPositioningOptions.md) - [Type alias: ContentScriptUiOptions``](/api/reference/wxt/utils/content-script-ui/types/type-aliases/ContentScriptUiOptions.md) - [Type alias: StopAutoMount](/api/reference/wxt/utils/content-script-ui/types/type-aliases/StopAutoMount.md) #### wxt/utils/define-app-config ##### Interfaces 1 - [Interface: WxtAppConfig](/api/reference/wxt/utils/define-app-config/interfaces/WxtAppConfig.md) ##### Functions 1 - [Function: defineAppConfig()](/api/reference/wxt/utils/define-app-config/functions/defineAppConfig.md) #### wxt/utils/define-background ##### Functions 1 - [Function: defineBackground()](/api/reference/wxt/utils/define-background/functions/defineBackground.md) #### wxt/utils/define-content-script ##### Functions 1 - [Function: defineContentScript()](/api/reference/wxt/utils/define-content-script/functions/defineContentScript.md) #### wxt/utils/define-unlisted-script ##### Functions 1 - [Function: defineUnlistedScript()](/api/reference/wxt/utils/define-unlisted-script/functions/defineUnlistedScript.md) #### wxt/utils/define-wxt-plugin ##### Functions 1 - [Function: defineWxtPlugin()](/api/reference/wxt/utils/define-wxt-plugin/functions/defineWxtPlugin.md) #### wxt/utils/inject-script ##### Interfaces 2 - [Interface: InjectScriptOptions](/api/reference/wxt/utils/inject-script/interfaces/InjectScriptOptions.md) - [Interface: InjectScriptResult](/api/reference/wxt/utils/inject-script/interfaces/InjectScriptResult.md) ##### Type Aliases 1 - [Type alias: ScriptPublicPath](/api/reference/wxt/utils/inject-script/type-aliases/ScriptPublicPath.md) ##### Functions 1 - [Function: injectScript()](/api/reference/wxt/utils/inject-script/functions/injectScript.md) #### wxt/utils/match-patterns ##### Classes 2 - [Class: InvalidMatchPattern](/api/reference/wxt/utils/match-patterns/classes/InvalidMatchPattern.md) - [Class: MatchPattern](/api/reference/wxt/utils/match-patterns/classes/MatchPattern.md) #### wxt/utils/split-shadow-root-css ##### Functions 1 - [Function: splitShadowRootCss()](/api/reference/wxt/utils/split-shadow-root-css/functions/splitShadowRootCss.md) #### wxt/utils/storage ##### Classes 1 - [Class: MigrationError](/api/reference/wxt/utils/storage/classes/MigrationError.md) ##### Interfaces 6 - [Interface: GetItemOptions``](/api/reference/wxt/utils/storage/interfaces/GetItemOptions.md) - [Interface: RemoveItemOptions](/api/reference/wxt/utils/storage/interfaces/RemoveItemOptions.md) - [Interface: SnapshotOptions](/api/reference/wxt/utils/storage/interfaces/SnapshotOptions.md) - [Interface: WxtStorage](/api/reference/wxt/utils/storage/interfaces/WxtStorage.md) - [Interface: WxtStorageItem``](/api/reference/wxt/utils/storage/interfaces/WxtStorageItem.md) - [Interface: WxtStorageItemOptions``](/api/reference/wxt/utils/storage/interfaces/WxtStorageItemOptions.md) ##### Type Aliases 5 - [Type alias: StorageArea](/api/reference/wxt/utils/storage/type-aliases/StorageArea.md) - [Type alias: StorageAreaChanges](/api/reference/wxt/utils/storage/type-aliases/StorageAreaChanges.md) - [Type alias: StorageItemKey](/api/reference/wxt/utils/storage/type-aliases/StorageItemKey.md) - [Type alias: Unwatch](/api/reference/wxt/utils/storage/type-aliases/Unwatch.md) - [Type alias: WatchCallback``](/api/reference/wxt/utils/storage/type-aliases/WatchCallback.md) ##### Variables 1 - [Variable: storage](/api/reference/wxt/utils/storage/variables/storage.md) ### Other - [`@wxt-dev/i18n`](/i18n.md) - [`@wxt-dev/is-background`](/is-background.md) - [`@wxt-dev/runner`](/runner.md) - [API](/api/reference.md) - [Untitled](/examples.md) - [WXT Analytics](/analytics.md) - [WXT Auto Icons](/auto-icons.md) - [WXT Storage](/storage.md) - [WXT UnoCSS](/unocss.md)