Productivity and Utilities

URL Parser

Paste a web address to see each part, the decoded path segments and query parameters, and any problems found.

Your numbers

Anything from a full address to a relative path. Nothing is fetched or sent anywhere.

Result

Scheme and host

https://www.example.com

3 path segments and 4 query parameters.

Host
www.example.com
Port
8443
Path segments
3
Query parameters
4
Repeated parameter names
tag
Problems found
0

Parts

PartValue
Schemehttps
User infouser:pw
Hostwww.example.com
Port8443
Path/a/b%20c/d.html
Queryq=hello+world&tag=a&tag=b&empty=
Fragmenttop

Path segments

No.Segment as writtenDecoded
1aa
2b%20cb c
3d.htmld.html

Query parameters

No.NameValueNote
1qhello worldFine
2tagaRepeated name
3tagbRepeated name
4empty(empty)Fine
How this was calculated
  1. The address is split with the pattern from RFC 3986: scheme before the first colon, then // and the authority, then the path, then ? and the query, then # and the fragment.
  2. The authority is cut into user info (before @), host, and port (after the last colon).
  3. Query parameters are split on &, then at the first =. A plus sign is read as a space and %XX sequences are decoded.
  4. No problems were found in the parts above.
  • This reads the text exactly as written. It does not lowercase the host, remove default ports or resolve dots in paths, and it never contacts the address.

Calculated using SumPanda.com · https://sumpanda.com/url-parser-breakdown/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the url parser

  1. Paste a web address. It can be a full address, a relative path or a link such as mailto.
  2. Read the parts: scheme, user info, host, port, path, query and fragment.
  3. Check the path segments and query parameters, which are decoded and numbered.
  4. Look at the problems line to see anything that is likely to break the address.

Formula

^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?

authority = user info @ host : port

query parameters are split on & and at the first =

a plus sign in a query is read as a space and %XX is decoded

The first line is the pattern given in RFC 3986, appendix B. It splits any address into five parts without checking that they are valid.

An address with every part

The address https://user:pw@www.example.com:8443/a/b%20c/d.html?q=hello+world&tag=a&tag=b&empty=#top has the scheme https, the user info user:pw, the host www.example.com, the port 8443, the path /a/b%20c/d.html, the query q=hello+world&tag=a&tag=b&empty= and the fragment top.

The path has three segments: a, b%20c (decoded b c) and d.html. The query has four parameters: q with the value hello world, tag with the value a, tag again with the value b, and empty with an empty value. The page flags the repeated name tag. A relative path such as /docs/guide?page=2&sort=desc#intro has no scheme or host, and a mailto link puts the address in the path.

What each part is for

The scheme says how to reach the address, such as https or mailto. The host names the server and the port selects a service on it, and an omitted port means the default for the scheme. The path picks a resource, the query passes named values to it, and the fragment names a place within the page and is never sent to the server.

Putting a user name and password in an address is discouraged because they can leak into logs and shared links. Treat any address that carries one as sensitive.

Reading without changing

This page reads the address exactly as typed. It does not make the host lowercase, drop default ports or resolve dots in paths, so you see what was written, not what a browser would make of it. Everything happens in your browser and nothing is fetched. To encode or decode a part, use the URL Encoder and Decoder. To turn a query into JSON, use the Query String to JSON Converter, and to add tracking parameters, use the UTM Link Builder.

Assumptions and limits

  • The address is split with the RFC 3986 pattern and is not validated against a list of schemes.
  • Percent-encoded text is decoded as UTF-8 where possible.
  • The address can be at most 2,000 characters.
  • Nothing is requested from the address.
  • The address shown when the page opens is an example.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

What is a fragment?

The part after the hash sign. It points to a place within the page, such as a heading, and browsers do not send it to the server.

Why are repeated parameter names flagged?

Some servers read only the first value, some the last and some all of them. Repeating a name is allowed but easy to misread, so the page points it out.

Why does a plus sign become a space?

In a query string, a plus sign stands for a space, a habit from HTML forms. In a path, a plus sign is just a plus sign, and the path column does not change it.

What problems does it look for?

Spaces in the address, a port that is not a number up to 65535, an odd scheme, an empty host after two slashes and a percent sign not followed by two hex digits.