Skip to main content
โœฆ Open Source & MIT Licensed

Transform JSON
without the complexity

Simple, open-source JSON data transformation tool. Declarative transforms, safe execution, and a rich built-in library โ€” all in one lightweight tool.

Why Datadance?

Everything you need to transform JSON data โ€” safely, quickly, and without writing code.

๐Ÿ”’

Safe Execution

No arbitrary code execution. Transforms are declarative expressions evaluated by MozJexl โ€” easy to write, maintain, and audit.

โšก

60+ Built-in Transforms

Rich library for strings, arrays, objects, numbers, dates, and more. Compose them to build powerful data pipelines.

๐Ÿ”€

Multiple Merge Modes

Choose between overwrite, preserve, and transforms_only to control exactly how your output merges with input.

๐Ÿงฉ

Nested Transforms

Apply transformations recursively on deeply nested objects with full control over the structure.

๐Ÿ“

DDS Syntax

Write transforms in a clean, YAML-like syntax instead of JSON. More readable, less boilerplate.

๐Ÿงช

Interactive Playground

Experiment with transforms in your browser. See input, transforms, and output side by side in real time.

Simple, readable, powerful

Write transforms as plain objects. No scripts, no sandboxing, no headaches.

example.js
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" }

Ready to dance with your data?

Start transforming JSON in minutes โ€” no configuration needed.