Open-source browser extension starter

Build your browser product, not the boilerplate.

MkExt is a production-ready WXT and React starter with every browser surface, Better Auth integration, typed messaging, shared storage, localization, themes, and cross-browser delivery already configured.

  • Open source
  • Chrome and Firefox
  • Production-ready foundation
app.example.com

MkExt

Extension popup

Signed in

Built with the tools modern extension teams already trust

WXT
React 19
TypeScript
Tailwind CSS
Better Auth
TanStack Query

Batteries included

Everything around your core idea is already built.

A practical foundation for browser products: UI, authentication, state, messaging, localization, cross-browser builds, and delivery all follow one coherent structure.

Every extension surface included

Popup, options, side panel, new tab, DevTools, content script, background worker, and auth tabs are ready to customize.

Chrome and Firefox

Build Chrome Manifest V3 and Firefox packages from the same WXT codebase.

Backend-flexible authentication

Connect email or Google OAuth to any compatible Better Auth backend, not just one website template.

Typed messaging and storage

Share browser state through WXT storage and communicate between extension contexts with typed messages.

Localization and themes

English and Chinese dictionaries, browser-language detection, runtime switching, and light, dark, or system themes.

A release path you can trust

TypeScript checks, Biome, GitHub Actions, zipped builds, and optional store submission are already wired together.

Bring your own backend

Connect to any Better Auth backend.

MkExt is not locked to one SaaS template. Point it at MkFast, MkSaaS, TanStack Start, Next.js, or another compatible backend that exposes Better Auth sessions and APIs.

MkFastMkSaaSNext.jsTanStack Start+ Better Auth
  • Bearer sessions persist safely through WXT storage.
  • Email and Google OAuth flows are ready for the browser identity callback.
  • Keep your existing backend, database, billing, and business logic.

Your web application

Better Auth + API

MkExt

Authenticated extension

VITE_AUTH_URL = https://your-app.com
session → bearer token → browser storage
OAuth → browser.identity → callback

One codebase, every surface

Meet users exactly where the work happens.

Choose the browser surface that fits each job. MkExt keeps entrypoints thin and gives them one shared component, auth, storage, and messaging foundation.

Popup

Deliver fast actions in a compact toolbar experience.

Side Panel

Keep your product available beside the page without breaking flow.

Options

Give users a spacious home for preferences and configuration.

New Tab

Turn every new tab into a focused, full-page product surface.

DevTools

Add custom tools and panels directly inside browser DevTools.

Content Script

Enhance web pages with isolated React-powered experiences.

Background

Run event-driven browser logic and coordinate extension contexts.

Extension Tabs

Ship login, onboarding, or other extension-owned full pages.

Quick start

From clone to a running extension in minutes.

The project structure and scripts stay predictable from the first local run through the final browser-store package.

01

Make it yours

Start from the repository, install with Bun, and keep only the extension entrypoints your product needs.

02

Connect and customize

Set your backend URL, customize the shared UI, and run Chrome or Firefox with fast WXT reloads.

03

Build and ship

Generate Chrome and Firefox zip files locally or publish through the included GitHub Actions workflow.

terminal

$ bun install

$ cp .env.example .env

$ bun run dev:chrome

✓ Extension ready at build/chrome-mv3

Open source

Your browser companion starts here.

Start with the extension architecture already in place, then spend your time building the feature only your product can deliver.

Follow MkFastHQ on GitHub