URI Reserved and Unreserved Characters

The RFC 3986 character classes and the hexadecimal escapes that keep a URI unambiguous.

RFC 3986 divides URI characters into reserved and unreserved. Reserved characters delimit structure; unreserved characters are safe as data. A character outside both sets, and any reserved character used as data, is percent-encoded.

Character roles in RFC 3986
ClassCharactersUse
UnreservedA–Z a–z 0–9 - . _ ~safe as data
Gen-delims: / ? # [ ] @structure delimiters
Sub-delims! $ & ' ( ) * + , ; =component delimiters

01Limitations

RFC 3986 defines the generic syntax. Application profiles such as HTTP add rules for specific components and query formats.

Sources

  1. RFC 3986: Uniform Resource Identifier (URI): Generic Syntax — IETF (accessed 2026-09-27)