LLM Output Schema Migrator

Map old JSON response shapes to new schemas when your LLM output format changes.

Ad placeholder (leaderboard)

Migrate LLM JSON between schema versions

When you change a prompt, swap models, or upgrade an API, the shape of the JSON your model returns often changes too — keys get renamed, nesting moves, arrays get wrapped. This tool lets you write a simple old-path → new-path mapping and reshape a pasted response into your target schema, so downstream code keeps working without manual editing.

How the mapping works

Each line of the mapping is a rule: read the value at the source path in the pasted JSON, then write it at the destination path in a brand-new output object. Paths use dot notation for object keys (message.content) and either bracket or dot notation for array indices (choices[0] or choices.0). Writing to a path that doesn’t exist yet creates the intermediate objects and arrays for you, so you can both flatten and re-nest in a single pass. Any source path that can’t be resolved is reported back as unmatched rather than silently failing.

Tips and examples

  • Renaming a top-level key: result -> data.
  • Pulling a nested value up: choices[0].message.content -> text.
  • Re-nesting flat fields: id -> record.id and name -> record.name.
  • Run the migrated output back through the tool with a second mapping to do a multi-step transformation when one pass isn’t enough.
Ad placeholder (rectangle)