Home

Frequently Asked Questions

Everything you need to know about creating, publishing, and troubleshooting browser extensions with Extension Forge.

General

Extension Forge is an AI-powered platform that generates fully functional browser extensions from natural language descriptions. Simply describe what you want, and our AI creates the complete code, including manifest, HTML, CSS, and JavaScript.

Yes! The core features of Extension Forge are free:

  • Generate unlimited extensions
  • Edit and refine with AI
  • Download and use your code

Premium plans offer additional features like advanced AI models, priority generation, and cloud storage for your projects.

No coding experience is required! Extension Forge handles all the technical details. However, basic knowledge of HTML/CSS/JavaScript can help you make more advanced customizations. The generated code is clean and well-commented, making it a great learning resource too.

You own 100% of the code. Extensions generated with Extension Forge belong entirely to you. You can publish them on the Chrome Web Store, sell them, modify them, or use them for any purpose. No attribution required.

When you use BYOK (Bring Your Own Key), your API keys are stored locally in your browser using localStorage with XOR+Base64 obfuscation.

⚠️ This is obfuscation, not military-grade encryption. Keys never leave your device and are not sent to our servers. For maximum security, use API keys with quota limits set in your provider's dashboard.

AI integrations are configured via environment variables in a .env file:

  1. Select the integrations you want in the Integrations section
  2. Generate your extension
  3. Open the .env file in the CODE tab
  4. Replace the placeholder values with your actual API keys
  5. Download and use your extension

💡 The .env file includes links to get API keys from each provider.

WXT Framework

WXT provides a modern developer experience similar to Next.js, but for extensions:

  • Hot Module Reload (HMR): See changes instantly without reloading the extension.
  • Auto-Imports: React hooks and `browser` APIs are available everywhere without manual imports.
  • Simplified Configuration: Handles the complex `manifest.json` generation for you.

WXT uses file-system routing. Each file in `entrypoints/` becomes an independent part of your extension:

  • entrypoints/popup/index.html → Popup UI
  • entrypoints/background.ts → Service Worker
  • entrypoints/content.ts → Content Script

No! WXT supports Auto-Imports. standard API calls like `browser.runtime` and React hooks like `useState` or `useEffect` are automatically available in all your files.

Browsers

We generate extensions using Manifest V3, the latest Chrome extension standard. This works with:

  • Google Chrome (primary target)
  • Microsoft Edge (direct compatibility)
  • Brave (direct compatibility)
  • Opera (direct compatibility)
  • Arc (direct compatibility)

Firefox uses a different manifest format. Some extensions may work with minor modifications.

Firefox is transitioning from Manifest V2 to V3. While our generated code targets Chrome's Manifest V3, many extensions can work on Firefox with minor adjustments to the manifest.json. We're working on native Firefox support for a future update.

Currently, browser extensions are primarily supported on desktop browsers. Mobile browsers like Chrome for Android and Safari for iOS have limited or no extension support. However, Safari on macOS supports extensions, and some mobile browsers like Kiwi Browser on Android do support Chrome extensions.

Technical

Generated extensions use modern web technologies:

  • Manifest V3 (Chrome's latest extension format)
  • WXT Framework (Next-gen extension development)
  • React 18+ (for UI components)
  • Vite (fast build tooling)
  • TailwindCSS (utility-first styling)
  • TypeScript (optional, for type safety)

For simpler projects, we generate vanilla HTML/CSS/JS without build tools.

Manifest V3 (MV3) is Chrome's latest extension platform with improved:

  • Security: Service workers instead of persistent background pages
  • Privacy: Declarative APIs reduce access to user data
  • Performance: Extensions use fewer resources

Chrome requires MV3 for new published extensions. MV2 extensions will be deprecated.

Absolutely! We recommend downloading the project and opening it in your favorite code editor (like VS Code) for the best experience. You can also use the in-app Refinement Console to ask the AI to make changes before you download.

For simple extensions, include libraries via CDN in your HTML:

<script src="https://cdn.jsdelivr.net/npm/library-name"></script>

For WXT/Vite projects, use npm: npm install library-name

Absolutely! The generator correctly respects the hierarchy and generates distinct subdirectories or robust Boilerplate Fallbacks for Popups, Sidepanels, and Options simultaneously. Just ask for it in your prompt (e.g., "A pomodoro timer popup and a history sidepanel").

Yes. Our architecture utilizes O(1) Supabase Head Aggregators and safe pagination bounds (.limit(100)) throughout all its API connections. This prevents classic N+1 queries and Memory Leaks, ensuring the dashboard remains snappy scaling infinitely.

Troubleshooting

Common issues and fixes:

  • Error in manifest.json: Check for syntax errors (missing commas, quotes)
  • Missing files: Ensure all files referenced in manifest exist
  • Permission denied: Add required permissions to manifest
  • Content Security Policy: For WXT/Vite projects, run npm run build first

Check the "Errors" button on chrome://extensions for specific error messages.

Tips for better results:

  • Be specific: Instead of "a timer", say "a 25-minute pomodoro timer with pause/reset buttons"
  • Include design details: Mention colors, themes, size preferences
  • Refine iteratively: Use the refinement console to adjust specific parts
  • Provide examples: Reference existing extensions or describe the UX flow

Ensure you have:

  1. Added "storage" to permissions in manifest.json
  2. Used chrome.storage.sync or chrome.storage.local correctly
  3. Called the storage API asynchronously (it returns Promises)

Ask the AI to "fix storage persistence" and paste any error messages for faster debugging.

This is expected browser behavior—popups close when they lose focus (clicking outside, switching tabs). For persistent interfaces, consider using a Side Panel extension type instead, which stays open alongside web pages.

Need more detailed information?

Read the Documentation