Chrome Extension Open Source 100% Local

Mock Any API, Right in Your Browser

SpliceTap taps into your app's network traffic and reroutes it. Mock, block, delay, redirect, or rewrite any request — no proxy, no backend changes, no build step.

GET/api/users/42 MOCKED
POST/graphql PATCHED
GET/api/orders DELAYED 2s
GET/api/legacy BLOCKED
6
Rule Types
14
Dynamic Placeholders
8.5K
Lines of Code
0
Bytes Sent Anywhere

Everything You Need to Fake a Backend

Built for the moment the API isn't ready, the error case won't reproduce, or the network is too fast to see your loading state

Static & Patch Mocking

Return a fully synthetic response, or let the real one through and surgically change a few fields.

  • Full control of status, headers, body
  • RFC 7386 JSON Merge Patch
  • Patch keeps the real response intact
  • null deletes a key

Precise Matching

Target exactly the request you mean — and nothing else — with layered match conditions.

  • Wildcard, regex, or substring URLs
  • Method filtering
  • Request-header conditions
  • First match wins, in your order

GraphQL Aware

Mock a single query or mutation on a shared endpoint without touching the rest.

  • Matches on operationName
  • Works on one shared /graphql
  • Leaves sibling operations alone
  • Combines with header matching

Dynamic Placeholders

Responses that change per request, so your UI never renders the same stale fixture twice.

  • Timestamps, dates, GUIDs
  • Random ints, floats, strings, emails
  • Echo the request URL and method
  • 14 placeholders, expanded per call

Live DevTools Panel

Mocked requests never hit the network, so the Network tab can't show them. SpliceTap has its own panel that does.

  • Every applied rule, newest first
  • Method, URL, rule name and type
  • Survives service-worker restarts
  • Sensitive query params redacted

Privacy First

No account, no backend, no telemetry. There is no server to send anything to.

  • Everything in chrome.storage
  • Zero analytics or tracking
  • Response bodies never stored
  • Import/export stays on your disk

Four Steps, About Thirty Seconds

No config files, no restart, no rebuilding your app

1

Open the Editor

Click the toolbar icon, hit Alt+Shift+N, or right-click the page — the editor opens with the current host prefilled.

2

Pick a Rule Type

Mock, block, delay, redirect, rewrite headers, or change query params. Templates cover the common cases.

3

Match the Request

Give it a URL pattern and a method. Add header or GraphQL conditions when you need to be more surgical.

4

Save & Reload

The rule takes effect immediately on matching requests. Watch it fire in the DevTools panel.

Six Ways to Bend a Request

Four are handled in-page by intercepting fetch and XMLHttpRequest; two are real network-layer edits made by the browser itself

mock

Return a fake response

Serve a synthetic body, status and headers — or patch just a few fields of the real one. Placeholders expand per request.

In-page interceptor
block

Fail the request

fetch rejects and XHR fires error with status 0 — exactly what a real network failure looks like to your code.

In-page interceptor
delay

Slow it down

Wait a set number of milliseconds, then let the request through untouched. The honest way to find your missing spinner.

In-page interceptor
redirect

Send it elsewhere

Rewrite the URL before it leaves. Regex patterns support $1$9 captures, so prod can point at localhost.

In-page interceptor
headers

Add or strip headers

Set and remove request or response headers at the network layer. Unblock CORS or override User-Agent in one rule.

declarativeNetRequest
queryparams

Rewrite the query string

Append or remove URL parameters on the way out — handy for forcing feature flags or debug modes you can't set in the UI.

declarativeNetRequest

Built on the Modern Extension Platform

Vanilla JavaScript, no framework, no build step — the source you read is the code that runs

Manifest V3

Current extension platform

Service Worker

Rule state and sync

MAIN-world Scripts

Patches fetch and XHR

declarativeNetRequest

Real network-layer edits

Shadow DOM

Overlay that pages can't style

chrome.storage

Local and session persistence

Jest

59 unit tests

RFC 7386

JSON Merge Patch

Get Started

SpliceTap is pending review on the Chrome Web Store — until it lands, install it from source in under a minute

Install from Source

  1. Clone or download the repository:
    git clone https://github.com/Nataraaj-Shanmugam/SpliceTap.git
  2. Open chrome://extensions/ in Chrome or Edge
  3. Turn on Developer mode (top right)
  4. Click Load unpacked and select the project folder
  5. Pin the SpliceTap icon to your toolbar

Requires Chrome or Edge 120+.

Chrome Web Store

  1. Listing is coming soon — the extension is being prepared for review
  2. Watch the repository to hear when it's live
  3. Install with one click, no developer mode needed
  4. Updates arrive automatically

Want it sooner? Open an issue — it helps prioritise.

Why SpliceTap Exists

Nataraaj Shanmugam

Software Engineer & QA Automation Specialist

Frontend work stalls in predictable ways: the endpoint isn't built yet, the error path only happens in production, or the response comes back too fast to catch the loading state. The usual fixes — a local proxy, a throwaway mock server, commented-out code — all cost more than the problem is worth.

SpliceTap puts that control in the browser itself. Write a rule, and the next matching request answers however you need it to. Nothing leaves your machine, and nothing about your app has to change.

Stop Waiting on the Backend

Install SpliceTap and mock your first endpoint in about thirty seconds.