JSON to Go

Generate Go struct types from sample JSON. Paste JSON and click Run to produce exportable Go code.

  • Runs entirely in your browser
  • No data stored or sent to a server
  • Free forever — no signup
  • Instant conversion

Input and Output

Use the interactive encoder and decoder on this page to process your text.

Learn more about JSON

How to Convert JSON to Go Structs

JSON to Go

When to Generate Go from JSON

Bootstrap Go struct types from sample API responses, config files, or webhook payloads. Faster than hand-writing struct tags and nested types when integrating JSON endpoints in Go services, CLI tools, or Kubernetes controllers.

How Inference Works

Types are inferred from JSON value shapes. Objects become structs, arrays become slices, and field names map to exported Go identifiers with json struct tags. Optional fields and nullable types require representative samples — a single object may mark all keys as required.

Developer Tips

  • Generate from multiple API samples to capture optional fields with pointer types
  • Review json tags for snake_case API keys vs Go camelCase conventions
  • Validate JSON syntax before converting — invalid input fails generation

Frequently asked questions

Are all JSON fields required in the struct?

Yes, based on the sample. Fields missing from the sample will not appear. Use multiple samples for optional fields.

Can I customize the root struct name?

Yes. Set the root type name in Tool Settings before running the generator.