Live Types

JSON to TypeScript & Zod, with API contract drift detection.

Paste real API response samples to infer types and validators — then save a snapshot to catch contract drift later, entirely in your browser.

Loading…

Tool Suite

35 everyday dev utilities — JSON, JWT, regex, curl-to-code, and more. Free, no account needed.

Guides

Explainers for specific error messages and format gotchas.

How it works

  1. Paste one or more real API response samples (not a hand-written schema). Live Types diffs the samples against each other, so a field that's a string in one sample and null in another becomes string | null instead of silently picking one.
  2. It infers a TypeScript type and a matching Zod schema from the merged shape — runtime validation and compile-time types from the same source, so they can't drift apart from each other.
  3. Save the inferred shape as a snapshot. Next time you paste a fresh response from the same endpoint, Live Types diffs it against the snapshot and tells you exactly which fields were added, removed, or changed type — the contract-drift check most teams only discover in production.

Why not just use quicktype

quicktype is the better choice if you need many output languages from a single schema. Live Types is narrower on purpose: multi-sample inference (so union types come from evidence, not a guess), a generated Zod validator alongside the type, and snapshot diffing built in — for the specific job of tracking whether a third-party or internal API is still shaped the way your code assumes it is. Full quicktype vs Live Types comparison.

Frequently asked questions

Does anything I paste leave my browser?
No. Inference, validation, and diffing all run client-side. There is no backend and no account — see the privacy policy for what the ad and analytics scripts do collect.
Can I check for drift automatically, not just when I paste a new sample?
Not yet inside the browser tool. It has no server, so it can't poll an API in the background. The roadmap includes an exportable snapshot format a CI job can diff against on every run, so drift detection becomes part of your pipeline instead of something you remember to re-check manually.
Who maintains this?
One developer, not a company — see About & Contact.

Browse every tool