JSON Mock API Response Builder

Compose realistic JSON fixtures for tests and mocks — with sensible defaults, faker-style fields, and one-click export to Jest, MSW, or Cypress.

Input

Waiting for input
1

Output

1

Instant

Runs entirely in your browser — no upload, no wait.

100% private

Your JSON never leaves the tab. Nothing is logged.

No signup

Free, unlimited, no account required.

Why hand-written mocks rot

Mock fixtures drift from real API shapes the moment the schema changes. Building mocks from a JSON Schema or a real example response keeps them anchored, and templating fields (random uuids, dates, names) avoids "cargo-culted" copy-pasted values.

Building a mock

Start from one of three sources: 1. Paste a real example response — the tool extracts the shape and lets you re-randomize values. 2. Paste a JSON Schema — the tool generates a conforming sample. 3. Build by hand — add fields with type pickers (string, number, uuid, isodate, lorem, choice).

Each field can be marked as random or fixed. Random fields re-roll on every export.

// MSW handler generated from the mock
import { rest } from 'msw';
export const handlers = [
  rest.get('/api/users/:id', (req, res, ctx) =>
    res(ctx.json({
      id: req.params.id,
      name: 'Ada Lovelace',
      role: 'admin',
      createdAt: '2026-01-01T00:00:00Z'
    }))
  )
];

Exports

One-click export targets: MSW handlers, Cypress intercepts, Jest fixtures, Postman example responses, and plain JSON files. Each export keeps the field templating so re-running gives fresh data when you want it.

Pagination and lists

Wrap any field group in a list with min/max counts. The tool generates the requested number of records and adds RFC 5988 link headers if you ask for a paginated response.

Privacy

All mock data is generated locally. Nothing is uploaded.

Related tools

Frequently asked questions