JSON to Flow
Generate Flow classes/structs automatically from a JSON object.
What is JSON to Flow?
This free online tool turns a sample JSON payload into a ready-to-use Flow type alias for Flow, so you can use this json to flow types generator tool to go straight from raw JSON to a typed type alias without writing the boilerplate yourself. It is built around Flow's actual idiom — a Flow type — rather than a generic one-size-fits-all class, and pairs naturally with Flow's static type checker for real-world (de)serialization. Use it for json to flowtype online or any time you need json to flow interface, whether you're scaffolding a new Flow project or mapping an existing API response.
Technical Execution
Paste or upload a sample JSON object or array and the tool walks its structure field by field, inferring a concrete Flow type for each value — mapping basic JSON types to `string`, `number`, and `boolean` as appropriate. For nested data, it emits a separate named Flow type for every nested JSON object, and types arrays as `Array<T>` of the matching element type. On the naming side, it preserves the original JSON key names exactly, matching Flow's structural typing approach to describing existing object shapes. For optional data, fields seen as `null`, or missing from some sample objects, are typed with a maybe type (`?string`) or made optional with a `?:` property modifier depending on whether the key itself is ever absent.
Zero Data Storage Guarantee
Everything runs client-side in your browser: the sample JSON you paste in — which may contain real field names, endpoint shapes, or structure from a private API or project — is parsed and converted entirely on your device and is never uploaded to any server. Nothing you enter is logged, stored, or transmitted anywhere, so you can safely paste a real payload from an internal or unreleased API to generate an accurate Flow type. Closing or refreshing the tab clears everything, since no copy of your data ever left your machine in the first place.
How to Use JSON to Flow (Step-by-Step Guide)
- Copy a representative sample of your JSON (the more fields and nested objects it includes, the more complete the generated type alias will be).
- Paste it into the input panel of the JSON to Flow tool, or click "Upload" to load it from a json file.
- Review the auto-detected root name, and rename it if you want the generated Flow type to use a specific class or type name instead of the default.
- Click "Generate" to produce the Flow type alias, which appears instantly in the output panel with syntax highlighting.
- Click "Copy" to copy the generated code to your clipboard, or "Download" to save it as a `.js.flow` file.
- Paste the result into your Flow project and adjust field names or types if your data has edge cases the sample didn't cover.