Tools

AI JSON extractor

Pull structured JSON out of emails, invoices and notes, following your schema and leaving unknown fields null.

Your key, or hosted with creditsAI assistants13.9K
Get a key

Your key stays in your browser.It goes straight to the provider, never to our servers, and we neither log nor keep it. Use a dedicated key with a spending cap, and delete it in the provider's dashboard when you are done.

Input

Result

The result will appear here.

Invoices in email bodies, CVs, support tickets, meeting notes: the facts you need are in there, but not in a shape a program can read. Paste the text, put a JSON Schema or just a list of field names in the box beside it, and the model returns JSON and nothing else — the keys you asked for, the types you declared, and null wherever the text does not say. That last rule matters most. A model asked for a due date that is not in the text will happily supply one unless it is told that a visible null beats a plausible guess. Leave the schema box empty and the model proposes a flat object of the facts it finds, which is a quick way to draft a schema for a new kind of document.

How it works

  • The schema box takes either a JSON Schema — parsed and pretty-printed before it is sent, so a syntax error is caught here instead of confusing the model — or one field per line, such as 'total: number' or 'due_date: date'.
  • Numbers come back without currency symbols or thousands separators, dates as ISO 8601, and text values exactly as written, untranslated; 'List of records' returns an array with one object per invoice, candidate or ticket found.
  • 567-labs/instructor is the library teams use to get the same validated output inside their own code, with Pydantic models and automatic retries; this page applies the same discipline through the prompt alone.
  • Documents like these often carry personal data, and they go — with your key — from the page directly to the provider; a separate key with a low limit, deleted afterwards, keeps a leak cheap.

Where your data goes

With your own key, what you type and the key go from your browser straight to the provider you choose; neither passes through Hysen Labs. In hosted mode, your text goes through our server to our provider (DeepSeek) and is billed in credits; we keep the token counts and cost of each run for billing, never the text itself or the answer. How the provider handles the text is governed by its own privacy policy.

This tool handles keys and credentials, so nothing about a run is saved, not even to your own history.

About your API key

We do not collect, store or leak your key: it lives only in this page's memory (unless you tick “remember in this tab”) and is gone when you close it. Still, treat any key you have pasted into a web page with care — create a dedicated key with a spending cap for use here, and delete or rotate it in your provider's dashboard when you are done.

What it costs

This tool is free, with no sign-in and no points.

Common questions

Is the output guaranteed to be valid against my schema?
No prompt can guarantee that; the model does the work. Capable models follow a schema reliably, but check the result before you depend on it, for example with a JSON Schema validator. In your own code, instructor or a provider's native structured-output mode adds validation and retries on top.
Why is a required field null?
Because the text never gave its value, and the tool is told to prefer null to invention. If your schema marks that field as a required string, the output will fail strict validation — which is the honest outcome. Either allow null in the schema ("type": ["string", "null"]) or give the model text that contains the value.
The answer came wrapped in ```json fences. What happened?
Some models add Markdown fences despite being told not to, smaller ones especially. Delete the first and last lines and the JSON between them is usable. If it keeps happening, switch to a larger model from the same provider.
Can it read a PDF or a scanned invoice?
It reads text only. Get the text out first — copy it from the PDF, or run a scan through OCR — and paste it here. The layout does not need to survive: a table pasted as ragged lines is usually still understood.

The open-source behind it

This tool is a self-contained implementation. 567-labs/instructor (MIT) does the same job as a library — if you need this behaviour inside your own program, start there rather than calling a web page.

567-labs/instructor

Also known as

  • extract json from text
  • ai data extraction
  • text to json
  • llm structured output
  • json schema extraction
  • parse email to json