Free, browser-based utilities for everyday developer workflows
JSON Patch & Pointer
Generate or apply RFC 6902 patch operations between two documents. Navigate, read, and mutate values with RFC 6901 JSON Pointers.
Patch: paste Source & Target → Generate Patch to get the RFC 6902 diff array.
Apply: paste Source + a patch array into Patch Output → Apply Patch.
Pointer: enter a path like /user/roles/0 to get, set, or remove a value.
Share results: Generate a secure link to share your current input and results with teammates — nothing is uploaded to any server.
Ctrl+Enter — Generate Patch (Patch mode) or Get value (Pointer mode).
Test ops — adds a test operation before each replace/remove to assert the existing value first; useful for safer patches.
Pointer syntax — must start with /. Use ~1 for a literal / inside a key, ~0 for ~. E.g. /a~1b addresses key a/b.
Array indices — use /items/0 for the first element; - refers to one past the last (append position for add).
Paste your own patch — the Patch Output box is editable; paste any RFC 6902 array and click Apply Patch.
Share: Click the Share button to get an encrypted URL — the key lives in the URL fragment, nothing is stored server-side.
Compute the minimal diff between two documents as a JSON Patch array, or apply an existing patch to a document.
Address any value inside a document with a path expression. Get, overwrite, or delete it without touching the rest.
Source JSON — the original document
Target JSON — the desired document
Change Summary - review and select operations before exporting
No changes
Include
Type
Path
Source
Target
Operation
Value type
Actions
Generate a patch to review detected changes.
Patch Output — RFC 6902 array (editable)
Apply Result — Source with patch applied
Patch Validation & Safety Report
Validation results and warnings appear here.
Apply Preview - operation by operation
#
Operation
Path
Status
Before
After
Validate or apply a patch to preview each operation.
Technical details
JSON Patch vs Merge Patch
Use JSON Patch for ordered operations, tests, moves/copies, and precise arrays. Use Merge Patch for simple object updates where the API expects application/merge-patch+json.
Validate the source and patched result against a JSON Schema (Draft-07). Paste schema below; validation runs locally with Ajv if available.
Schema validation results appear here.
Workflow Handoffs
JSON Document — Set/Remove update this in-place
Result
Pointer path
Must start with /. Separate segments with /. Use ~1 for a literal / in a key name, ~0 for ~. Array: /items/0 for index 0, /items/- to append.
Value — used by Set value
JSON Tree / Pointer Builder
Load or paste JSON, then refresh the tree.
Pointer Toolkit
Convert raw keys to JSON Pointer tokens, switch between plain pointers and URI fragment pointers, swap with JSONPath, and resolve a pointer token-by-token against the JSON document.
Walks each token, shows the path that resolved and the first failing token with available keys.
Resolution report appears here.
Selected Pointer
Root pointer is the empty string "". Root add/replace/remove affects the whole document.
How to use JSON Patch & JSON Pointer
Build and test JSON Patch (RFC 6902) operations and resolve JSON Pointer (RFC 6901) paths against a JSON document. Use it to craft an HTTP PATCH body, generate the patch that turns document A into document B, or debug "path not found" and "test operation failed" errors in your API. All operations run in your browser; documents are never uploaded.
What it does
Apply RFC 6902 patches (add, remove, replace, move, copy, test) to a target document.
Generate a JSON Patch by diffing two JSON documents — useful for API PATCH bodies.
Resolve JSON Pointer paths (RFC 6901), including escaped tokens (~0 for ~, ~1 for /).
Apply operations step by step to see intermediate states.
Explain per-operation failures (target not found, test mismatch, invalid path).
Copy the patch as JSON ready to send in an HTTP PATCH request.
When to use it
Implementing or consuming a PATCH endpoint that uses RFC 6902.
Building the minimal patch that turns a current document into a desired one.
Debugging "replace target must exist" or "test operation failed" errors.
Crafting a config update for a system that accepts JSON Patch (e.g., Kubernetes strategic / JSON merge patches).
Resolving and verifying JSON Pointer paths used in JSON Schema, OpenAPI, or error responses.
Documenting a series of edits as a patch document.
How to use it
Paste the target JSON document on the left.
Enter a JSON Patch array (e.g., [{"op":"replace","path":"/user/name","value":"Ada"}]) on the right.
Click Apply to run the patch — the result and any errors per operation appear instantly.
For a diff: paste the original and the desired JSON, then click Generate Patch to produce the minimal RFC 6902 ops.
For Pointer resolution: paste the document, enter a pointer like /items/0/name, and see the value or error.
Copy the patch JSON into your PATCH request body or test fixture.
Tips & pitfalls
Operations apply in order — if one fails, later ones do not run. Reorder when needed.
To append to an array use /array/-; to insert at an index use /array/0.
Escape special characters in JSON Pointer: / becomes ~1, ~ becomes ~0.
Use add to create new fields, replace only when the path already exists.
The test operation is a guard — use it for optimistic concurrency before applying changes.
JSON Patch is not JSON Merge Patch (RFC 7396) — they have different semantics. Confirm which your API expects.
FAQ
What is JSON Patch (RFC 6902)? A JSON document format for describing changes to another JSON document as an ordered array of operations.
What is JSON Pointer (RFC 6901)? A string syntax for identifying a specific value inside a JSON document, used by JSON Patch and JSON Schema.
How do I generate a patch between two JSON objects? Paste both into the diff panel; the tool emits the minimal RFC 6902 operations that turn the source into the target.
What does the "-" path token mean? It refers to the index one past the last element of an array — used by add to append.
Is JSON Patch the same as JSON Merge Patch? No — Merge Patch (RFC 7396) is a simpler diff/overlay. Patch (RFC 6902) is operation-based and explicit.
Is my JSON uploaded? No. All patching, diffing, and pointer resolution run in your browser.
Runs locally in your browser. No uploads. No analytics on pasted JSON.