JSON Pointer (RFC 6901)
Resolve RFC 6901 JSON Pointers against a document — one per line — or switch to list mode to enumerate every pointer the document contains. When a pointer fails, the error says exactly which token failed and why, rather than just returning undefined.
How to resolve a JSON Pointer
- Paste the JSON document you want to point into.
- Enter one pointer per line. A pointer starts with
/; the empty string points at the whole document. - Escape special characters in keys:
~1for a literal/,~0for a literal~. - A single pointer returns its value directly. Several return a report showing each one's result or error.
- Switch to List mode to see every valid pointer in the document, with a summary of what each one holds.
Pointer syntax in one minute
(empty) — the whole document./users— the member namedusers./users/0— the first element of that array. Array indexes must have no leading zeros./a~1b— the member literally nameda/b./m~0n— the member literally namedm~n.#/users/0— the URI-fragment form, also accepted here and percent-decoded first./-— refers to the element after the last array element. It is meaningful in a JSON Patchaddoperation but cannot be resolved, so this tool reports it as an error.
Where pointers show up
JSON Pointer is the addressing language underneath several specs you probably already use:
JSON Patch (RFC 6902) uses it for every operation's path,
JSON Schema uses it for $ref targets and error
locations, and OpenAPI uses it throughout components. Getting comfortable with it makes all
three easier to read.
Pointers address exactly one location. If you need wildcards, filters, or recursive descent, that is JSONPath's job, not JSON Pointer's.
Privacy
Nothing is uploaded. The conversion runs in this tab using your own browser's JavaScript engine — no server sees your data, and the page keeps working with the network disconnected.
FAQ
Why is "users/0" rejected?
A pointer must be the empty string or start with /. Without the leading slash it is not a pointer — a very common mistake when hand-writing patch operations.
What is the difference from JSONPath?
JSON Pointer identifies one specific location and is a tiny, unambiguous spec. JSONPath is a query language that can return many matches, with filters and wildcards. Pointer for addressing, JSONPath for searching.
Can I use it to modify the document?
Not here — this resolves and reports. To change a value at a pointer, use JSON Patch with a replace operation.