Browser Extension Development Company

Browser extensions sit closer to the user than any other software you build. They watch the page, read the DOM, modify the experience, and stay one tab away from every workflow your users live in.
RaftLabs builds Chrome, Edge, Firefox, and Safari extensions for productivity tools, AI assistants, sales prospecting tools, dev tools, CRM integrations, and consumer utilities, with Manifest V3 architecture from day one and store submission handled end to end.

See our work
  • Chrome, Edge, Firefox, and Safari extensions built from a single Manifest V3 codebase

  • Manifest V3 architecture from day one, service workers and declarativeNetRequest, no V2 rewrites later

  • Chrome Web Store submission and review process handled end to end, including rejection appeals

  • AI assistant, productivity, and CRM-integrated extensions that live inside the workflows your users already use

Recent outcomes

Sales CRM extension · B2B SaaS team

Built a LinkedIn prospecting extension that pushed contacts into HubSpot with one click and logged activity automatically.

60% less manual data entry per rep

AI assistant extension · MarTech startup

Built a sidebar AI writing assistant for Gmail and Google Docs. Shipped to the Chrome Web Store in 10 weeks.

10 weeks from brief to store approval

Workflow automation · Enterprise operations

Built an internal Chrome extension to automate a multi-step data entry workflow across three internal tools.

4 hours of manual work eliminated daily
4.9 / 5 on ClutchSee our work

The problem

Sound familiar?

  • Extension rejected by the Chrome Web Store review team and the rejection email reads like a riddle?

  • Internal team needs a browser extension to automate a workflow but nobody on the team has built one before?

The short answer

RaftLabs builds Chrome, Edge, Firefox, and Safari extensions on Manifest V3 for clients in the US and UK. Most projects launch in 6-12 weeks at a fixed price. We handle Chrome Web Store submission end to end, including rejection appeals.

Custom software development · Updated June 2026

Trusted by

Vodafone
Nike
Microsoft
Cisco
T-Mobile
Aldi
Heineken
GE

Software delivery, by the numbers

software products shipped
100+
average time to first production release
12 weeks
rated by clients on Clutch
4.9/5
years delivering software for established businesses
9+

Extensions live closer to the user than any other software

Web apps run inside their own tab. Mobile apps run inside their own icon. Extensions run inside every tab the user opens. That proximity is the whole point. It's also the reason browsers police them carefully, and why building one well means understanding the security model, the permission system, and the review process before you write the first line of code, not after.

Most teams that try to build an extension internally underestimate one of three things: how much of the work is store policy compliance rather than application logic, how much the Manifest V3 service worker model changes the assumptions you can make about background state, or how different the Safari distribution model is from Chrome. We build extensions for a living and treat all three as first-class concerns from day one.

Capabilities

What we build

Chrome extension development

Production Chrome extensions built on Manifest V3 with a clean service worker architecture, declarativeNetRequest for network behavior, and popup UI in React or Svelte with TypeScript throughout. Permission model designed for least privilege from day one: optional permissions requested at point of use, host permissions scoped to the origins the extension actually needs. Chrome Web Store submission handled end to end, from listing copy and screenshots to privacy policy. If a submission is rejected, we revise and resubmit, typically within 48 hours.

Edge and Firefox extension development

Edge and Firefox extensions built from the same Manifest V3 codebase as the Chrome build, with the smallest possible per-browser delta. Edge accepts a Chrome build almost verbatim; we submit through the Microsoft Partner Center. Firefox needs more care: the browser.* namespace is resolved with webextension-polyfill so application code stays unified, and permission differences are handled per manifest. Mozilla review is stricter on obfuscation, so we ship source maps and unminified source with every submission by default.

Safari Web Extensions for macOS and iOS

Safari Web Extensions built as macOS and iOS apps via Xcode, wrapping the same Manifest V3 codebase in a native Swift shell. Safari extensions distribute through the Mac App Store and iOS App Store, not a web store, so Apple Developer Program membership and app review apply. We handle the full conversion: Xcode setup, the Swift wrapper, code signing, notarization, and App Store Connect submission. The shared TypeScript codebase stays the source of truth, so one commit ships to all four browsers.

AI assistant and productivity extensions

Extensions that put an AI assistant inside the user's existing workflow: sidebar UI beside any page, selection-based prompting from a keyboard shortcut, and output inserted back into editable surfaces like Gmail, Google Docs, Notion, and Salesforce. LLM API calls route through a backend service so API keys never ship in the bundle, cost controls live server-side, and responses stream back to the extension. Productivity extensions follow the same pattern: focused tools that store data locally via chrome.storage rather than syncing to a server the user didn't ask for.

Sales and CRM browser extensions

Extensions for sales prospecting and CRM workflows that live where the team already works: LinkedIn prospecting tools that push contacts into Salesforce or HubSpot with one click, and Gmail or Outlook sidebars that surface deal context next to every thread. For CRMs with public OAuth APIs we authenticate directly with OAuth 2.0 and PKCE; for platforms without them, a backend proxies requests. Data loads eagerly so the sidebar surfaces context within 200ms, and bulk operations retry with backoff when the CRM throttles.

Extension store submission and approval

End-to-end submission handling for Chrome Web Store, Edge Add-ons, Firefox Add-ons, and the Mac and iOS App Stores. Each store has its own policy framework and review criteria, and the differences are material. The Chrome package includes a privacy policy, a justification for every requested permission (the most common rejection trigger), listing copy, and screenshots. We write all of it. If a submission is rejected, we revise against the cited policy section and resubmit, usually within 48-72 hours.

How we work

From scope to shipped

Every project follows the same four phases. Scope is locked and price is fixed before development starts.

  1. Week 1
    01

    Discovery and permission model

    We map the workflow the extension lives in, the browsers it needs to support, and the data it touches. You leave week 1 with a written scope document, a Manifest V3 permission model, and a fixed-price quote. No development starts without your sign-off.

  2. Weeks 2-3
    02

    Architecture and UI design

    Extension UI wireframes before production code. The permission scope, the service worker lifecycle, and the content script injection points are all locked here. Design decisions made in week 2 cost ten times less than the same decisions made in week 8.

  3. Weeks 4-12
    03

    Build, integrate, and QA

    Working extension installable from a staging build by end of sprint one. Bi-weekly demos. QA runs in parallel with every sprint, testing each browser target independently, not as a phase at the end.

  4. Weeks 12+
    04

    Store submission and post-launch support

    We handle the full store submission package and manage the review process. 8 weeks of post-launch support included in every project. If the store review triggers a rejection, we revise and resubmit within 48 hours.

Why us

Why teams choose RaftLabs

  1. Senior engineers build what they scope

    The engineers who assess your extension problem also build the solution. No bait-and-switch, no offshore handoff after the contract is signed. The team you meet in week 1 ships in week 12.

  2. Fixed price before development starts

    We scope the work, calculate the cost, and lock it in writing before any development starts. A scope change is a change request: priced, agreed, or dropped. It never absorbs into the project and appears on the final invoice.

  3. 9 years and 100+ products shipped

    Clients include Vodafone, T-Mobile, Aldi, Nike, Cisco, and Lockheed Martin. Track record across AI, SaaS, mobile, automation, and enterprise platforms across healthcare, fintech, logistics, and hospitality.

  4. Store policy compliance built in from the start

    Manifest V3 permission models, privacy policies, and single-purpose framing are scoped in week 1, not retrofitted before submission. We have handled rejections from Chrome Web Store, Mozilla AMO, and Apple App Store review and know what each policy section actually requires in practice.

Ready to scope your browser extension project?

30 minutes. You walk away with a clear cost, timeline, and team. No commitment.

Stay on topic

More on web apps

Frequently asked questions

Manifest V3 is the current extension platform across Chrome, Edge, and Firefox. Manifest V2 is being retired, Chrome stopped accepting new MV2 submissions in 2024 and is phasing out existing MV2 extensions through 2025-2026. The difference is architectural, not cosmetic. MV2 used long-running background pages that stayed in memory the whole time the browser was running. MV3 replaces those with service workers that the browser starts and stops on demand, which means any state you used to hold in a background page now has to live in storage (chrome.storage.local or session). MV2 used blocking webRequest listeners that could rewrite or cancel network requests in real time. MV3 replaces that with declarativeNetRequest, a declarative rules engine where you register the rules ahead of time and the browser enforces them, which is faster and more private but stricter about what you can do. If your extension was built on MV2, the migration isn't a config change, it's a rewrite of the background logic, the network interception layer, and often the storage model. We build new extensions on MV3 from day one and migrate MV2 extensions to MV3 as a scoped project rather than a quick patch.

One codebase, multiple browsers, with the smallest possible per-browser delta. Chrome, Edge, and Firefox all consume Manifest V3 with the WebExtensions API, so the same content scripts, service worker, and popup UI run across the three with minor manifest differences. Edge accepts a Chrome build almost verbatim. Firefox needs a small number of API substitutions (browser.* vs chrome.* namespace, polyfilled via webextension-polyfill) and slightly different permission declarations. Safari is the outlier. Safari Web Extensions ship as macOS or iOS apps via Xcode, with the WebExtensions code wrapped in a native Swift shell, and they require an Apple Developer Program membership for distribution through the Mac App Store and iOS App Store. We build the core extension logic once in TypeScript, share content scripts and the popup UI across all four browsers, and maintain per-browser manifest files and the Safari Xcode wrapper as the only platform-specific pieces. That keeps maintenance cost down as the product evolves.

The review process has two stages. The automated scan checks for malware signatures, banned API usage, and obvious policy violations. The human review reads your store listing, tests the extension in a clean Chrome profile, and checks that the extension does what the listing says it does, with the permissions it requests, and no more. Reviews typically take 1-3 business days for established developer accounts and 1-3 weeks for new accounts on first submission. The most common rejection reasons we see and resolve are: requested permissions that aren't justified by the described functionality (asking for host_permissions on all_urls when the extension only needs to run on one site), a privacy policy that doesn't match what the extension actually does with user data, a single-purpose violation where the extension tries to bundle several unrelated features, remotely hosted code being executed (MV3 prohibits this, all code must ship in the package), and store listing screenshots or descriptions that overpromise what the extension does. When an extension is rejected, the rejection email cites the specific policy section. We've handled enough reviews to know what each policy section actually means in practice and how to revise the submission to pass on the next round, usually within 48 hours of the original rejection.

A focused single-browser extension, one core feature, popup UI, content scripts, and Chrome Web Store submission, typically runs $15,000-$35,000. Cross-browser builds (Chrome, Edge, Firefox from one codebase) add roughly 15-25%. Adding Safari Web Extensions (which requires the Xcode native shell and Apple Developer Program distribution) adds another $8,000-$15,000 on top. Extensions with backend services (AI assistants calling LLM APIs, CRM extensions syncing with Salesforce or HubSpot, sales tools with their own data layer) are scoped including the backend. We give you a fixed cost before any code is written, not a time-and-materials estimate.

Most extensions ship in 6-12 weeks from project start to store submission. A focused single-purpose extension on one browser can ship in 4-6 weeks. Cross-browser extensions with backend services typically run 10-14 weeks. The Chrome Web Store review adds 1-3 days for established developer accounts and 1-3 weeks for first-time submissions, which we factor into the launch date rather than treating it as an afterthought. We start with a 1-week discovery to confirm the permission model and the Manifest V3 architecture before writing application code, because a misjudged permission scope is the most common reason extensions get rejected or have to be rebuilt mid-project.

Yes. We sign NDAs before discovery calls for projects that involve proprietary workflows, internal tooling, or competitive product ideas. Full source code ownership transfers to you at project completion. We do not retain rights to use your extension or its underlying logic in other projects.

Work with us

Tell us what you need. We'll tell you what it would take.

We scope Browser Extension Development Company in 30 minutes. You walk away with a clear cost, timeline, and approach. No commitment required.

  • Scope and cost agreed before work starts. No surprises. No obligation.
  • Working prototype within 3 weeks of kickoff.
  • Pay by milestone. You see progress before each invoice.
  • 60-day post-launch warranty. Bug fixes, UI tweaks, and deployment support. No retainer.
  • All conversations are NDA-protected.