Simple, open-source JSON data transformation tool. Declarative transforms, safe execution, and a rich built-in library โ all in one lightweight tool.
Everything you need to transform JSON data โ safely, quickly, and without writing code.
No arbitrary code execution. Transforms are declarative expressions evaluated by MozJexl โ easy to write, maintain, and audit.
Rich library for strings, arrays, objects, numbers, dates, and more. Compose them to build powerful data pipelines.
Choose between overwrite, preserve, and transforms_only to control exactly how your output merges with input.
Apply transformations recursively on deeply nested objects with full control over the structure.
Write transforms in a clean, YAML-like syntax instead of JSON. More readable, less boilerplate.
Experiment with transforms in your browser. See input, transforms, and output side by side in real time.
Write transforms as plain objects. No scripts, no sandboxing, no headaches.
import { transform } from "datadance";const result = await transform({input: {name: { first: "Malory", last: "Archer" },exes: ["Nikolai Jakov", "Len Trexler", "Burt Reynolds"],lastEx: 2,},transforms: [{ lastEx: "input.lastEx + 5" },{ fullName: "input.name.first + ' ' + input.name.last" },],settings: { merge_method: "overwrite" },});// โ { name: {...}, exes: [...], lastEx: 7, fullName: "Malory Archer" }
Start transforming JSON in minutes โ no configuration needed.