JSON → C# records generator

Paste an API response, get C# 12 record types ready for System.Text.Json — nested records, List<T>, nullable where the sample says so, dates and GUIDs typed — with every decision explained. Anything the sample can't prove (mixed types, empty arrays, lone nulls) is flagged for your judgment instead of silently guessed.

Free API — use it from your own tools

The same engine powers an open API (this page uses it too). No signup, no key — just a rate limit of 60 requests per minute per IP. Handy for editor macros, scaffolding scripts, and teaching materials.

curl

curl -X POST https://www.coder000.com/api/v1/json-to-csharp \
  -H "Content-Type: application/json" \
  -d '{"input": "{\"id\": 8821, \"name\": \"Amara\", \"joined\": \"2026-09-04T10:15:30Z\"}"}'

C#

using var http = new HttpClient();
var response = await http.PostAsJsonAsync(
    "https://www.coder000.com/api/v1/json-to-csharp",
    new { input = """{"id": 8821, "name": "Amara", "joined": "2026-09-04T10:15:30Z"}""" });
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result.GetProperty("output").GetString());

Uniform response shape: { "output": "…", "notes": [...], "warnings": [...] }output is the generated C# source, and each note carries a change, an explanation, and a link to the post behind the decision. Send one JSON document per request (an object or an array), up to 100,000 characters.

Learn the why, not just the what

The choices this tool makes are exactly what these posts teach.