JavaScript object diff
See every change. Prove every patch.
Explore a structural diff engine built for real JavaScript—not just JSON.
MapSetDateBigIntTypedArrayCyclesSparse arrays
Try an edge case
Built for values JSON cannot hold.
Interactive playground
Object diff
Patch reconstructs the target
BeforeOriginal object
JavaScriptAfterTarget object
JavaScriptVisual diff
Verified patch4 operations to reach the target
{
user: {
id: 42
name: “Ari”
* role: “viewer” → “admin”
}
teams: [
“platform”
+ “design”
“docs”
]
flags: {
* beta: false → true
}
+ lastSeen: Date(2026-07-15T00:00:00.000Z)
}
AddedChangedRemoved
Readable operations
Start with a human change list, then open the raw data only when you need it.
Read the guide →02Patch proof included
Every edit is checked by applying the generated diff back to a fresh source object.
Read the API →03JavaScript-native
Test collections, cycles, dates, BigInts, TypedArrays, and sparse arrays without flattening them into JSON.
Compare libraries →