Quick comparison
The popup
Use the popup for interactions that take a few seconds: toggling a setting, showing a count, triggering a one-time action, or displaying status information about the current page. Manifest declaration:The popup’s JavaScript execution context is destroyed when the popup closes. Do not use the popup to manage long-running state — use
chrome.storage or the background service worker for that.The options page
Use the options page for settings the user configures once and rarely changes: API keys, default behaviors, account information, or bulk data management. Manifest declaration:options_ui:
When to use each
Use the popup when...
- The user needs to see current status (e.g., “3 trackers blocked on this page”)
- A single click or toggle is the entire interaction
- The UI relates to what the user is currently doing on the page
- Speed matters — the user expects an instant response
Use the options page when...
- The user needs to enter credentials or API keys
- There are multiple settings grouped into sections
- The user needs to read and manage saved data
- The interaction requires more screen space or multi-step input
Prompt Extensy to include each
Popup only:“Add a toolbar popup that shows the word count of the current page and lets the user copy it to the clipboard.”Options page only:
“Create an options page where users can enter their OpenAI API key and choose the default summarization length.”Both:
“Build an extension with a popup for quick one-click summarization and an options page for setting the API key, summary length, and preferred language.”Extensy will generate the HTML, CSS, and JavaScript for each surface and wire them together with
chrome.storage for shared state.