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: ~01 resolves 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 $ref resolves 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 $ref in your spec points to where you think it does.

Frequently asked questions

What's the difference between JSON Pointer and JSONPath?

JSON Pointer is a strict reference to a single value (no wildcards, no filtering). JSONPath (and the newer RFC 9535) allows queries with wildcards, filters, recursive descent. JSON Pointer is much simpler and is what RFC standards use.

What if the pointer references a missing path?

RFC 6901 says the implementation must report an error. This tool flags it as "not found".

Does it support fragment-form pointers (starting with <code>#</code>)?

If you include a leading #, the tool strips it before resolving.

Why both <code>~0</code> and <code>~1</code>?

You need to escape / (since it's a separator) and ~ (since it's the escape character). The order matters: decode ~1 first, then ~0, to avoid double-decoding.