JSON to Go Converter

Paste a JSON sample — an API response or a config file — and get ready-to-use Go Structs with nested types, arrays and optional fields detected automatically.

Runs in your browserUpdated
TypeScript

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the JSON to Go

  1. Paste a JSON sample in the input — Go is already selected.
  2. Set the root type name and options such as optional fields and date detection.
  3. Copy the generated Go code into your project.

JSON to Go structs

Each JSON object becomes a Go struct with exported (capitalized) field names and json:"key" tags, so encoding/json maps the original keys — including snake_case and keys that aren’t valid Go names. Numbers become int64 or float64, arrays become slices, and optional fields get omitempty or pointer types so a missing value can be told apart from zero.

Decoding the JSON

Use json.Unmarshal(data, &v) or a json.Decoder for streams. Add DisallowUnknownFields() on the decoder when you want unexpected keys to fail loudly.

Private by design

The conversion runs entirely in your browser — API responses with customer or internal data are never uploaded.

Also searched as: json to go structs, convert json to go, go structs from json, json go generator.

Tools that pair well with the JSON to Go

  • JSON to Types — Paste an API response and get ready-to-use models in 8 languages: TypeScript, Python (dataclass, TypedDict or Pydantic), Go, Java, C#, Kotlin, Swift and Rust.
  • JSON Validator — Paste JSON to check whether it is valid.
  • JSON Schema Validator — Paste a schema and some JSON to see exactly which values break which rule — or generate a starting schema from example data.
  • Mock Data Generator — Create up to 10,000 rows of realistic test data — users, products, orders, addresses, companies or nested API records — or build your own schema.

Frequently asked questions

How are nested JSON objects converted to Go?
Each nested object becomes its own named struct, named after its key, and referenced from the parent. Arrays become typed lists of the element type.
What happens with fields that are missing or null in some items?
When you paste an array of objects, fields that are missing or null in some items are marked optional (nullable), so the generated code matches real API responses.
Is my JSON uploaded?
No. The conversion runs entirely in your browser, so API responses with private data never leave your device.
Can I install JSON to Go as a web app and use it offline?
Yes. JSON to Go is an installable web app (PWA) — installed from your browser, not downloaded from an app store. Click Install app at the top of this page in Chrome or Edge (Windows, macOS, Linux, ChromeOS) or on Android, use Share → Add to Home Screen on iPhone and iPad, or File → Add to Dock in Safari 17+ on a Mac. It then opens in its own window with its own icon, and because it runs entirely in your browser it keeps working offline. Firefox on desktop can’t install web apps. How installing works.

Related tools