03 / Utilities

URL Parser / Encoder

Parse URLs, inspect query parameters, and encode or decode URL components locally.

$ url

● URLs and text are processed locally in your browser.

url.outputidle

Parse a URL or encode a component.

Guide

About the URL Parser / Encoder

The URL parser separates a URL into protocol, hostname, port, path, query parameters, and fragment. It also encodes or decodes URL components locally for debugging links, callbacks, and API requests.

How to use this tool

Paste an absolute URL to inspect its structured components and query parameters. Use component encoding for a value that will occupy one part of a URL, such as a query parameter, rather than encoding an entire already-structured URL. Decode only when you need to inspect escaped text, and be careful with repeated decoding because a percent sign produced by the first pass can be interpreted again by a second pass.

How to read the result

The scheme selects the protocol, the host combines hostname and optional port, and the path identifies a resource hierarchy. The query follows ? and can contain repeated keys, empty values, or ordering that an application treats as significant. The fragment follows # and is normally handled by the browser rather than sent in an HTTP request. Percent-encoding represents bytes using % followed by two hexadecimal digits.

Limits and privacy

Parsing shows syntax, not whether a destination exists, is safe, or will interpret parameters as expected. Internationalized hostnames, application-specific schemes, plus signs in form encoding, and nested URLs can require context-specific handling. Do not automatically navigate to untrusted parsed output. All parsing, encoding, and decoding happen in this tab, and entered URLs are not sent to buffer.lol by this tool.

FAQ

Common questions

Should I encode a whole URL with encodeURIComponent?
Usually not. Encode individual component values so structural characters such as :, /, ?, &, and = retain their URL roles.
Is the fragment sent to the web server?
Normally no. The browser uses the portion after # on the client and excludes it from the HTTP request target.