URL Anatomy

A web address is a stack of parts held together by punctuation. Paste one in and it falls apart into colour — hover, tap or arrow along any piece to find out what it actually does, then edit the parameters and watch the address rebuild itself on every keystroke.

7 partslive rebuildpercent-decodernothing leaves this page

The address

—
try:
characters
0
parts used
0
parameters
0
%-escapes
0
path steps
0

Anatomy

hover, click, or arrow along

Query parameters

—

The seven parts

What the % signs hide

—

How this pulls an address apart (and where it stops)

The split follows the shape web addresses have agreed on for decades: an optional scheme up to the first colon, an optional authority after // (sign-in details, host, port), then the path, then everything after the first ? is the query, then everything after the first # is the fragment. Later ? and # characters are just ordinary text inside whichever part they landed in.

Query parameters are a convention rather than a rule. Pairs joined by & and split on the first = is what every web framework expects, and it is what this page does — but a server is free to read the query however it likes. Repeated names are kept as separate rows, because that is usually deliberate.

Inside a query, + and %20 both mean a space; everywhere else in the address a + is just a plus sign. The spaces as + toggle rewrites between the two forms, so the address changes while its meaning does not.

Two things this deliberately does not do: it does not convert accented host names into their xn-- ASCII form, and it does not tidy the address up (no lower-casing the host, no collapsing /./). You see what you typed, split up — not what a browser would clean it into.