Record once · Mock reliably · Debug faster

The fetch & XHR recorder-mocker that just works.

EchoKit is a zero-setup Chrome extension. Record real API traffic from any tab, then instantly mock any of it back with strict matching, latency & error simulation, and a raw JSON editor. No backend. No accounts. No telemetry.

Thirty seconds. That's the flow.

Open any tab → hit ● REC → use your app → flip MOCK → edit → reload.

Record

EchoKit hooks window.fetch and XMLHttpRequest from a MAIN-world content script. Every call on the recording tab is captured into IndexedDB — URL, method, headers, body, status, response — all of it.

Edit

Tap any request. Rewrite the JSON body, change the status, tweak headers. Pick a match mode: strict, ignore-query, ignore-body, path-wildcard, or GraphQL.

Mock

Flip the MOCK switch. The page hits your edits instead of the network. A huge amber banner means you never forget you're in mock mode.

Everything you expected — and a few things you didn't.

01Strict matching
FNV-1a hash of method + normalized URL + normalized body. Query params are sorted, JSON bodies are canonicalized. Never ghost-mock the wrong endpoint.
025 match modes
Per-API: strict, ignore-query, ignore-body, path-wildcard, GraphQL (by operation + query fingerprint + variables).
03Conflict resolution
Same request recorded twice? Latest wins by default. A "×N" badge lets you pick a specific version via dropdown.
04Latency & errors
Simulate slow responses (0–10s slider), force 4xx / 5xx, trigger a network failure, or just hang the request.
05URL blocklist
Block any request matching a Chrome urlFilter pattern via declarativeNetRequest. No mock needed.
06CORS override
One-click toggle. Injects permissive Access-Control-Allow-* headers into real responses.
07Scope system
Domain (default), Tab (strict), or Global. Pick what's visible per tab — no cross-project mock pollution.
08Export / Import
Round-trip mocks as JSON. Commit them to your repo. Import in PRs. Share reproducible bug repros.
09localStorage copy/paste
Copy a tab's localStorage to the clipboard. Paste into another tab with a one-click confirmation dialog.
10Two surfaces
Compact popup (480×600) + DevTools panel (resizable two-pane layout). Same data, same controls.
11Theme switch
Dark / Light / Auto (follows OS). IBM Plex Sans + JetBrains Mono. Zero AI-slop gradients.
12Keyboard shortcuts
Alt+Shift+R REC · Alt+Shift+M MOCK · Alt+Shift+E popup. Customizable at chrome://extensions/shortcuts.

Private by default.

Everything you record lives in your browser's IndexedDB. No backend, no accounts, no telemetry. Uninstall to wipe. Read the full privacy policy →