Project
Roulette

JSON Surgeon

Explore a huge JSON file without loading it into anything.

IntermediateCommand lineDev tool10–20hAI-buildable 4/5no setupworth shipping

What you're making

Someone hands you a 200MB JSON file and every editor you own chokes on it. This lets you poke around it from the terminal — see its shape, count how many records there are, pull out just the fields you care about, and turn it into a spreadsheet. It streams the file instead of loading it, so size stops being the problem.

A streaming JSON explorer that infers schema, filters records and converts to other formats without holding the document in memory. The streaming parse is what makes it useful where normal tools give up.

UI
Logic
Useful

Hosting · Free forever

Deploys free on npm, PyPI or GitHub Releases.

Nothing to host. Publishing to a package registry is free and permanent, and anyone can run it with a single command.

Publish to npm — one command and anyone can run it.

Core features · 7

  • Streams the file rather than loading it into memory
  • Infers and prints the document's structure
  • Counts records and reports which fields are sometimes missing
  • Extracts chosen fields into a flat table
  • Converts output to CSV
  • Reports progress on very large files
  • Handles both a top-level array and newline-delimited records

The interesting part

  • Streaming parse — you cannot call JSON.parse on the whole thing
  • Inferring a schema when records disagree about field types
  • Flattening deeply nested objects into columns sensibly

Once it works

  • Add a query language for filtering rows
  • Add a sampling mode that reads only the first N records
  • Detect and report inconsistent types across records

Suggested stack

typescriptnodestream-json

Track it