JSON Pointer Resolver (RFC 6901)
JSON Pointer (RFC 6901) is the standard way to reference a specific value inside a JSON document — used by JSON Schema, JSON Patch, OpenAPI, and many APIs. The syntax is a slash-separated path: /users/0/email means "the email field of the first user". This tool resolves any pointer against any JSON document, including the tricky escape rules (~0 for ~, ~1 for /).
How to use the JSON Pointer Resolver (RFC 6901)
Paste a JSON document, type a JSON Pointer, and the resolved value appears. The pointer starts with / (or is empty for the whole document); each segment after a slash is a property name (for objects) or array index (for arrays).
Special characters: in property names, ~ is encoded as ~0, / as ~1. So the pointer /feature~1flag references the property literally named feature/flag.
About JSON Pointer Resolver (RFC 6901)
JSON Pointer (RFC 6901, 2013) defines a syntax for identifying a specific value within a JSON document. It's the path-by-reference component used inside other standards:
- JSON Schema —
$ref: "#/definitions/User"uses a JSON Pointer (after the#) to reference an inline definition. - JSON Patch (RFC 6902) — every patch operation has a
"path"field that is a JSON Pointer. - OpenAPI —
$ref: "#/components/schemas/User"uses the same syntax.
Syntax rules:
- Empty string = the whole document (the document itself).
- Otherwise, starts with
/followed by zero or more/-separated tokens. - Each token is the literal property name (for objects) or numeric index (for arrays). Array index
-means "the position past the last existing element" — used by JSON Patch for appending. - Two characters need escaping:
~→~0,/→~1. Note the order:~01resolves to~1, not/.
JSON Pointer URI Fragment encoding (used in $ref URIs) percent-encodes additional characters — but in raw JSON Pointer strings, only ~ and / need escaping.
Common use cases
- Writing JSON Patch operations — see our JSON Patch builder.
- Debugging JSON Schema
$ref— confirm that a$refresolves to the expected definition. - API path debugging — when an API uses JSON Pointers in error messages ("invalid value at /users/3/email").
- Test fixtures — extract specific values from large fixture JSON files.
- OpenAPI editing — verify that a
$refin your spec points to where you think it does.
Frequently asked questions
What's the difference between JSON Pointer and JSONPath?
What if the pointer references a missing path?
Does it support fragment-form pointers (starting with <code>#</code>)?
#, the tool strips it before resolving.Why both <code>~0</code> and <code>~1</code>?
/ (since it's a separator) and ~ (since it's the escape character). The order matters: decode ~1 first, then ~0, to avoid double-decoding.