Local-first Chrome extension

Change requestheaders.Keep control.

Create profiles, add key-value request headers, and toggle every rule without accounts, analytics, or remote code.

0 accounts 0 analytics 100% local settings
RequestHeaders2 rules active
Selected profileLocal API
Header keyValueOn
AuthorizationBearer dev_token…
X-Environmentlocal-api
Changes stay on this device
Local by designNo remote codeManifest V3One-click pause
Built for the request loop

Tiny tool.
Clear boundaries.

RequestHeaders stays intentionally focused: create the header setup you need, see what is active, and get back to debugging.

01

Fast profiles

Keep local API, staging, and debugging headers in separate profiles. Switch context without retyping values.

02

One-click control

Pause one header or every active rule from the popup. Your configuration stays ready for the next request.

03

Private by default

No account, analytics, or remote service. Header settings stay in Chrome’s local extension storage.

04

Built on Manifest V3

Uses Chrome’s declarativeNetRequest API to modify headers without intercepting and reading request bodies.

The privacy model

Your secrets should not become someone else’s telemetry.

RequestHeaders keeps configuration on your device. There is no backend to receive your tokens, browsing activity, or extension settings.

Read the privacy policy
No analyticsNo behavior tracking or advertising identifiers.
No transmissionSettings are not sent to the developer or third parties.
No remote codeEverything needed to run ships inside the extension.
You stay in controlPause a row or every rule whenever you need.
Everyday developer workflows

Made for the moments between “why?” and “fixed.”

Clear patterns for common debugging jobs—without inventing customer quotes or inflated metrics.

APIFrontend development
“Point local builds at the environment you actually need—without changing application code.”
QARelease verification
“Keep test flags and environment headers grouped, visible, and easy to pause between checks.”
CORSAPI debugging
“Add a diagnostic header, reload the page, and inspect the outgoing request in DevTools.”
OPSControlled handoffs
“Disable sensitive values before switching contexts, then restore the profile when you return.”
Questions, answered

Before you add
the first header.

RequestHeaders is simple by design. These are the boundaries worth knowing.

Does RequestHeaders send my header values anywhere?
No. Settings are stored locally by Chrome and applied through the browser’s declarativeNetRequest API. RequestHeaders has no account system, analytics, or external service.
Which requests are modified?
While the global switch is on, enabled headers in the selected profile are applied to matching HTTP and HTTPS browser requests. Chrome internal pages such as chrome:// URLs are restricted by the browser.
Can I temporarily disable a header?
Yes. Every header row has its own switch, and the global switch pauses all active rules without deleting your profiles.
Will it work with cached or service-worker responses?
Chrome applies declarative rules to requests that reach its network stack. Responses produced entirely by a service worker or CacheStorage may bypass the rule, so reload or bypass cache when debugging.
Do I need an account?
No. Install the extension, add a header key and value, and use it immediately.
Is it compatible with Manifest V3?
Yes. RequestHeaders is built around Chrome’s Manifest V3 declarativeNetRequest API and does not execute remotely hosted code.
Chrome Web Store release in progress

Change the request.
Keep the context.

Install RequestHeaders when the listing is live. No signup, onboarding flow, or account required.