JSON to serde.zig

The same JSON-to-Zig pipeline, but the output carries a pub const serde = .{ ... } block so serde.zig can deserialize it directly: auto-detected rename_all, alias collapsing for sibling fields that never co-occur, and an optional deny_unknown_fields pass via the toolbar's advanced options.

Smallest int widths from observed range; auto enum suggestion; missing/null become optional.

or drop files

Fetched and dropped content stays in your browser.

Zig

Diagnostics (1)

Field decisions

struct User $
  • Alternatives:
  • Alternatives:
  • Alternatives:
  • Alternatives:
struct Profile $.profile
  • Alternatives:

serde.zig knobs zigshape emits

  • rename_all when one naming convention round-trips every field.
  • Per-field rename when conventions don't fit (mixed casing, reserved keywords, escaped identifiers).
  • alias for sibling fields that share a shape and never co-occur in the same sample.
  • Tagged-union tag / tag_field when a discriminator string is present in every variant.

Plain std.json-only output? Use JSON to Zig Struct.

Local-first. Your input never leaves the browser.