A browser extension that lets you click any text or image on any webpage and modify it locally. No DevTools required.
All changes are local-only - only you see them, nothing is saved or sent anywhere, and reloading the page restores the original.
- Unzip
hakr-extension.zipsomewhere on your disk. - Open
chrome://extensions(oredge://extensions,brave://extensions, etc.) - Toggle Developer mode on (top right).
- Click Load unpacked and select the unzipped
hakr-extensionfolder. - The HAKR icon appears in your toolbar. A welcome tab opens explaining how it works.
- Open any webpage.
- Click the HAKR icon → press Start editing. Or press Ctrl+Shift+H (⌘+Shift+H on Mac) anywhere as a shortcut.
- Click any text → edit inline. Click any image → swap source dialog (URL or file upload).
- Open the popup again to stop, or reset the page to undo everything.
A green "ON" badge appears on the toolbar icon while edit mode is active on a tab, so you don't forget.
Auto-detected from the browser language. Currently bundled:
- English (
en) - Français (
fr) - Español (
es) - Deutsch (
de) - Italiano (
it) - Português do Brasil (
pt_BR) - 日本語 (
ja) - 简体中文 (
zh_CN)
To add a language, copy _locales/en/messages.json into a new locale folder (e.g. _locales/nl/messages.json) and translate each message value.
- Modifications are client-side only.
- Some sites re-render content on a timer (live tickers, feeds) - your edits may get overwritten. Re-edit and screenshot quickly.
- Doesn't work on
chrome://,about:,view-source:, or extension-store pages - Chrome blocks content scripts there. srcsetand<picture>source elements are stripped when you swap an image so your replacement actually wins against responsive image rules.
hakr-extension/
├── manifest.json MV3 manifest, references __MSG_*__ keys
├── background.js opens welcome page on install + manages toolbar badge
├── content.js injected into every page; click-to-edit + image-swap modal
├── popup.html / popup.js toolbar popup (control panel)
├── welcome.html / welcome.js first-install onboarding tab
├── icon{16,48,128}.png extension icons
└── _locales/<lang>/messages.json translations (one per language)
Do what you want with it.