JSON Extractor from LLM Output
LLMs often return JSON wrapped in code fences, prefixed with explanation, or surrounded by retry attempts. This extractor finds and parses every valid JSON object/array in the input, returning a clean list. Saves the boilerplate every RAG / agent pipeline writes to handle this.
How to use the JSON Extractor from LLM Output
Paste any LLM output. The extractor finds JSON fenced in ```json ... ```, finds bare JSON objects/arrays in prose, and parses each. Returns a list of valid objects. Invalid attempts are reported but don't break extraction of valid ones.
Getting clean JSON out of messy LLM output
Ask a model for JSON and you rarely get only JSON. The object comes wrapped in a ```json fence, prefaced with “Here is the result:”, trailed by an explanation, or repeated across a couple of retry attempts. Every RAG and agent pipeline ends up writing the same brittle code to dig the actual object out of that noise.
This extractor does that step for you: it finds JSON inside fences and bare objects or arrays sitting in prose, parses each, and returns the valid ones as a clean list. Malformed attempts are reported separately so one bad block doesn't sink the good ones. When the reply is code rather than data, reach for the code block extractor instead.
Common use cases
- Agent pipelines — reliably parse the JSON an LLM step emits before passing it on.
- Structured extraction — recover the object from a reply padded with explanation.
- Handling retries — pull the valid attempt out when a model repeated itself.
- Debugging output — see which JSON in a response actually parses and which fails.
- Skipping boilerplate — avoid rewriting fence-stripping logic in every project.
Frequently asked questions
What kinds of JSON does it find?
```json fences and bare ones embedded in prose. Each candidate is parsed independently and the valid results are returned as a list.