A powerful, privacy-first alternative to ModHeader — built for developers, QA engineers, and API testers.
Install Now • Features • Usage • Contribute • Donate
If you've ever used ModHeader, you know it gets the job done — but it doesn't let you organize headers by website, and it definitely doesn't let you switch between named role-based profiles (like Admin, Technician, Customer) with a single click.
HeaderForge was built to fix exactly that. It's 100% free, open source, and built on Chrome's modern Manifest V3 API — meaning it's faster, safer, and more transparent than ever.
"The right header, for the right site, in the right role — instantly."
| Feature | HeaderForge ⚡ | ModHeader |
|---|---|---|
| Per-site header scoping | ✅ Yes | ❌ Global only |
| Named role profiles (Admin, User…) | ✅ Yes | ❌ No |
| Multiple profiles per site | ✅ Yes | |
| One-click profile switching | ✅ Yes | |
| 100% Free & Open Source | ✅ Yes | ❌ Freemium |
| Manifest V3 (modern & secure) | ✅ Yes | |
| No account / login required | ✅ Yes | ❌ Required for sync |
| Privacy — zero data sent anywhere | ✅ Yes | ❓ Unknown |
-
Per-Site Profiles — Headers are scoped to a specific domain or IP address. What you set for
fahadbd.comnever bleeds into24srv.com. -
Named Role Presets — Create multiple named profiles per site. Call them whatever makes sense to your workflow:
Admin,Technician,Customer,Superuser,ReadOnly— you decide. -
Instant Profile Switching — One click on the radio button activates a profile. No page reload, no fuss.
-
Site Enable/Disable Toggle — Quickly disable all header injection for a site without deleting your profiles.
-
Unlimited Sites & Profiles — Add as many sites and profiles as you need. No paywalls. No limits.
-
Works with Domains & IPs — Supports hostnames like
api.myapp.comas well as raw IPs like192.168.1.100. -
Zero Cloud Dependency — All data is stored locally in your browser. Nothing is ever sent to a server.
-
Manifest V3 Compliant — Built on Chrome's latest extension standard using
declarativeNetRequestfor security and performance.
┌─────────────────────────────────────────┐
│ ⚡ HeaderForge fahadbd.com │
├─────────────────────────────────────────┤
│ Sites About │
├─────────────────────────────────────────┤
│ │
│ ● fahadbd.com [Admin] ▾ │
│ ○ Admin ← active │
│ ○ Technician │
│ ○ Customer │
│ │
│ ● 24srv.com ▾ │
│ ○ Admin │
│ ○ User │
│ │
├─────────────────────────────────────────┤
│ [fahadbd.com ] [+ Add Site] │
└─────────────────────────────────────────┘
- 🔐 API Testing — Switch between
Authorization: Bearer <admin-token>andAuthorization: Bearer <user-token>without touching Postman or your code. - 🧪 QA Engineering — Test role-based access control on staging/production with named profiles per environment.
- 🛠 Backend Development — Inject custom headers like
X-Debug: true,X-Tenant-ID: 42, orX-Feature-Flag: betaper site. - 🔄 Multi-Environment Workflow — Maintain separate profiles for
dev.myapp.com,staging.myapp.com, andmyapp.com. - 🌐 Microservices Testing — Manage headers for multiple services simultaneously, each scoped to their own domain.
-
Download this repository as a ZIP or clone it:
git clone https://github.com/MohammadFahad1/HeaderForge-extension.git
-
Open Chrome and navigate to:
chrome://extensions -
Enable Developer Mode using the toggle in the top-right corner.
-
Click "Load unpacked" and select the
headerforgefolder. -
The ⚡ HeaderForge icon will appear in your Chrome toolbar. Pin it for easy access!
We're working on publishing to the Chrome Web Store. Star ⭐ this repo to get notified!
Click the extension icon → type a domain (fahadbd.com) or IP (192.168.1.1) → press Enter or click + Add Site.
The edit modal opens automatically. Add your profiles:
Profile: Admin
Header: Authorization → Bearer eyJhbGc...adminToken
Profile: Technician
Header: Authorization → Bearer eyJhbGc...techToken
Profile: Customer
Header: Authorization → Bearer eyJhbGc...customerToken
You can add multiple headers per profile — not just Authorization.
Expand the site card → click the radio button next to a profile name → it activates instantly. The active profile name appears as a badge on the card.
Click a different radio button to switch profiles. One click. That's it.
- Toggle (the pill switch) enables/disables all header injection for that site.
- ✏️ Edit opens the full profile manager for that site.
- 🗑 Delete removes the site and all its profiles.
headerforge/
├── manifest.json # Extension manifest (MV3)
├── background.js # Service worker — manages declarativeNetRequest rules
├── popup.html # Extension popup UI
├── popup.js # Popup interaction logic
├── icons/
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
├── README.md
└── LICENSE
HeaderForge is a community project — and we'd love your help!
Whether you're a seasoned Chrome extension developer or just getting started, there's a place for you here. Every contribution, big or small, makes HeaderForge better for everyone.
- 🐛 Bug Reports — Found something broken? Open an issue.
- 💡 Feature Requests — Got an idea? Start a discussion.
- 🔧 Code — Fork, improve, and send a pull request.
- 📖 Documentation — Help improve this README or write a wiki page.
- 🌐 Translations — Help make HeaderForge accessible in more languages.
- ⭐ Star the repo — Seriously, it helps more than you'd think.
Here are things we'd love the community to help build:
- Import / Export — Backup and share profile configs as JSON
- Chrome Web Store release with auto-update
- Regex URL matching — Match patterns like
*.staging.myapp.com - Response header modification — Modify headers on incoming responses too
- Profile duplication — Clone a profile across sites
- Keyboard shortcuts — Switch profiles without opening the popup
- Dark/Light theme toggle
- Firefox support (WebExtensions API)
- Search/filter across sites and profiles
- Profile import from Postman collections
# 1. Fork this repository
# 2. Clone your fork
git clone https://github.com/MohammadFahad1/HeaderForge-extension.git
# 3. Create a feature branch
git checkout -b feature/your-feature-name
# 4. Make your changes and commit
git commit -m "feat: add profile duplication feature"
# 5. Push to your fork
git push origin feature/your-feature-name
# 6. Open a Pull Request on GitHubWe follow Conventional Commits for commit messages. All PRs are welcome — don't be shy!
HeaderForge is built with privacy as a core principle:
- ✅ No data collection — We collect nothing. Zero.
- ✅ No remote servers — All your profiles are stored locally using
chrome.storage.local. - ✅ No analytics — No tracking scripts, no telemetry.
- ✅ Open source — Every line of code is visible and auditable.
- ✅ Manifest V3 — Uses Chrome's most secure extension architecture with
declarativeNetRequest.
You own your data. Always.
This project is licensed under the MIT License — free to use, modify, and distribute. See LICENSE for full details.
If HeaderForge has helped you, please consider:
- ⭐ Starring this repository on GitHub
- 🐦 Sharing it with your developer friends and communities
- 📝 Writing about it on Dev.to, Medium, or your blog
- 💬 Mentioning it in Discord servers, Slack groups, or Reddit threads
The more people who know about it, the better it gets — because more contributors means more features for everyone.
Built with ❤️ for developers who deserve better tools — for free.