JSON Pointer Evaluator
Resolve RFC 6901 pointers, URI-fragment forms, escaped tokens, arrays, and root values precisely.
Paste the JSON value to address. Pointer tokens are exact: /a~1b addresses the key a/b, and an empty pointer addresses the root.
Pointer Settings
Options
These options help debug pointer syntax, array indexes, escaped slash keys, escaped tilde keys, and generated pointer lists.
A pointer identifies one exact location, not a search pattern
JSON Pointer is deliberately small. Each slash-prefixed token selects one object member or array element in sequence. /user/name addresses a nested member, while /items/0 addresses the first array element. There are no wildcards, filters, recursive searches, or expressions.
The empty string is also a valid pointer: it addresses the entire JSON document. In Single pointer mode, leave the pointer field empty to test that case. A single slash / means something different—it addresses an object member whose name is the empty string.
Escaping happens inside each reference token
A slash inside a member name becomes ~1, and a tilde becomes ~0. The key a/b is therefore addressed as /a~1b. Invalid ~ escapes are rejected rather than guessed.
The URI-fragment form is related, but not universally implied
RFC 6901 also defines forms such as #/a~1b. Percent-decoding is applied before pointer-token decoding. A media type still has to define JSON Pointer as its fragment syntax; ordinary application/json does not automatically make every URL fragment a JSON Pointer.
Array tokens have stricter rules than object member names
Against an array, an index is 0 or a positive decimal integer without a leading zero. The token - is valid JSON Pointer syntax, but RFC 6901 defines it as the nonexistent position after the last array element, so plain evaluation cannot resolve it to a value. JSON Patch gives that token application-specific meaning for certain add operations; a pointer evaluator should not silently borrow that behavior.
Numeric-looking tokens are not intrinsically array indexes. If the current value is an object, /0 simply addresses the object member named 0.
Duplicate JSON names make an exact pointer undefined
RFC 6901 states that evaluation fails when the referenced object member name is not unique. JavaScript's normal JSON.parse would otherwise keep only one duplicate and hide the ambiguity, so duplicate member names are stopped before evaluation. Precision-sensitive JSON numbers, including unsafe integers and decimal values that browser number semantics cannot preserve conservatively, are also rejected before matched values can be silently rounded.
Primary reference: RFC 6901 — JavaScript Object Notation (JSON) Pointer
Generated pointer lists include empty containers
Leaf-only generation normally emits values that have no children. An empty object or empty array also has no child path, so its pointer is retained instead of disappearing from the generated list. Generation is capped to keep deeply nested or very wide pasted documents responsive; the result notes when the cap was reached.
JSON Pointer and JSONPath solve different jobs
A JSON Pointer is an exact address. JSONPath is a query language family intended for selecting sets of values with richer expressions. If an API error, JSON Patch operation, OpenAPI reference, or schema-related format gives you a slash path, exact pointer semantics matter more than a flexible query syntax.
Evaluation stays in the browser, but pasted data still deserves care
Parsing, pointer generation, and evaluation run in the current browser tab; the page code does not upload the pasted JSON to a Yoryantra server. Sensitive production payloads should still be minimized before pasting into any browser-based utility, especially on shared machines, screen recordings, or systems with browser extensions you do not control.
