What it does
Put the document in the first box and the patch in the second, and say which kind of patch it is. The result is the document with the patch applied, and it updates as you type.
Operations (RFC 6902)
A list like [{"op": "replace", "path": "/a", "value": 1}], using add, remove, replace, move, copy and test, each naming its place with a JSON Pointer. They run in order and all or nothing: if one fails (a path that is not there, a test that does not hold) nothing changes and the error names it, as in operation 3 (replace /a/b).
Merge patch (RFC 7386)
A document laid over the other: its members replace or add, a null deletes one, and anything that is not an object replaces what it is laid over. It cannot set a member to null; use operations for that.
Order, and exact numbers
Objects keep the order of their members: a replaced one stays where it was, a new one goes last. Numbers keep every digit. To make a patch from two documents, use Diff.
In your tab
The patch is applied by the same Rust engine as the desktop app, compiled to WebAssembly: nothing is uploaded. This page takes up to 10 MB a box.