Add, set or remove request and response headers for any URL. Rules apply instantly. No account, no analytics, no remote code. Your ModHeader profiles import in one click.
Get Headrule, it's free Pro is $9, onceManifest V3 · Built on declarativeNetRequest · Works with Chrome, Edge, Brave and Arc
The Chrome Web Store listing is in review. Until it is live you can install Headrule from the GitHub repository.
The six things people actually use a header extension for, done properly.
Any request or response header. Authorization tokens, custom feature flags, User-Agent, Referer, CORS headers during local development.
Leave the filter empty for everywhere, use ||api.example.com for one domain, or a regular expression when you need precision.
Rules are handed to Chrome's native request engine the moment you type. No page refresh, no background script watching your traffic.
Staging, production, client A, CORS debugging. Switch with one click. The toolbar badge shows how many rules are live.
Flip the toggle or press Alt+Shift+H and every rule is removed until you turn it back on.
Headrule cannot read page content. It never contacts a server except the license check when you activate Pro. The source is public for audit.
ModHeader was removed from the Chrome and Edge stores in July 2026, after a published analysis by Stripe OLT reported hidden data-collection code in the extension. Headrule is a clean, independently built replacement with no telemetry of any kind.
Everything the popup does not explain by itself.
| Filter | Matches |
|---|---|
| (empty) | Every request in every tab |
example.com | Any URL containing that text |
||api.example.com | That host and its subdomains, any scheme |
||example.com/v2/* | Paths under /v2/ on that host |
|https://localhost:3000 | URLs starting with that prefix |
regex:^https://api\.(dev|staging)\.example\.com/ | Regular expression (Pro) |
Filters are case-insensitive and use Chrome's declarativeNetRequest urlFilter rules.
Chrome only allows appending to a short list of request headers (Accept, Accept-Language, Cache-Control, Cookie, User-Agent, X-Forwarded-For and a few others). For everything else use Set. Response headers can be appended freely.
The rule higher in the list wins. Drag is not supported yet; delete and re-add to reorder.
Chrome refuses to modify a few headers for security reasons (for example Host and headers set by other extensions with higher priority). Headrule shows the exact error under the rule.
Because a header rule with an empty URL filter has to apply to every site. Chrome's permission model does not let an extension ask for "just the sites you add rules for" without a prompt on each one. Headrule uses that access only to pass your rules to Chrome; it does not read pages.
Free covers most daily use. Pro is a single payment through Lemon Squeezy, with a 14-day refund if it does not fit.
No. There is no analytics, no crash reporting and no telemetry. The only outbound request is to the license server when you activate or re-check a Pro key, and it contains the key and a device label. Read the privacy policy.
Yes. Any Chromium-based browser that installs extensions from the Chrome Web Store.
They are deleted with the extension, unless you exported them or have Pro sync on. Export first.
Not yet. Firefox's header APIs differ; it is on the list if enough people ask.
Email support@headrule.com. Include the rule that misbehaves and the URL it should match.