URL Parser / Inspector
Paste one or more full URLs (one per line) to break each one down into its protocol, host, path, query string, and fragment, with every query parameter decoded.
Paste one or more full URLs (one per line) to break each one down into its protocol, host, path, query string, and fragment, with every query parameter decoded.
A URL can only safely contain letters, digits, and a small set of symbols (- _ . ~). Everything else, including spaces, punctuation, and non-English characters, has to be represented with percent-encoding before it can travel inside a URL.
Percent-encoding replaces a character with a percent sign followed by its two-digit hexadecimal byte value, using UTF-8 for anything outside basic ASCII. A space becomes %20, an ampersand becomes %26, and an accented or non-Latin character can become several %XX sequences in a row, since UTF-8 represents it as more than one byte.
Characters such as ? & = # and / have a special meaning in a URL structure: they mark the query string, separate parameters, or introduce the fragment. If your data needs to contain one of these characters as a value rather than as structure, encode it first, or the browser or server may misread where one part of the URL ends and the next begins.
Decoding reverses the process: it reads each %XX sequence back into the character (or byte) it represents, which is exactly what the tool above does.
| Character | Encoded | Where it is used |
|---|---|---|
| space | %20 | Word separator inside a value |
| ! | %21 | |
| " | %22 | |
| # | %23 | Starts the fragment |
| % | %25 | Starts a percent-encoded sequence |
| & | %26 | Separates query parameters |
| ' | %27 | |
| ( | %28 | |
| ) | %29 | |
| + | %2B | Often read as a space inside a query string |
| , | %2C | |
| / | %2F | Separates path segments |
| : | %3A | Follows the scheme, e.g. https: |
| ; | %3B | |
| = | %3D | Assigns a query parameter's value |
| ? | %3F | Starts the query string |
| @ | %40 | |
| [ | %5B | |
| ] | %5D |
A student copies a web address from an online form and sees text such as science%20project%20notes. A beginner developer inspects an API request and finds that an ampersand inside a search value appears as %26. The address works, but it is difficult to read and debug.
A URL Decode tool converts percent-encoded sequences back into their corresponding characters. For example, %20 commonly becomes a space, while %26 becomes an ampersand.
Decoding is useful for understanding links, inspecting query parameters, studying web encoding, and diagnosing malformed requests. It must be performed carefully because reserved characters can change the structure of a URL after they are decoded.
The tool does not determine whether a destination is safe, correct, or authorized. It only changes the representation of encoded characters. Students and developers still need to inspect the host, path, parameters, and decoded values.
URLs use certain characters to separate their parts. A question mark can begin a query string, an ampersand can separate parameters, and a number sign can identify a fragment.
When one of these characters must appear as data rather than as a structural separator, it can be percent-encoded. A percent sign is followed by two hexadecimal digits representing a byte value.
| Encoded Value | Decoded Character | Common Meaning |
|---|---|---|
%20 |
Space | Separates words inside a value |
%21 |
! |
Exclamation mark |
%23 |
# |
Number sign or fragment marker |
%26 |
& |
Ampersand or query separator |
%2B |
+ |
Plus sign |
%2F |
/ |
Forward slash or path separator |
%3A |
: |
Colon |
%3D |
= |
Equals sign or parameter separator |
%3F |
? |
Question mark or query marker |
Hexadecimal letters in percent sequences are not case-sensitive, so %2F and %2f represent the same byte.
Consider this example:
https://example.edu/search?q=water%20cycle&level=grade%206#results
Its main parts are:
httpsexample.edu/searchq=water%20cycle&level=grade%206resultsThe query values decode to “water cycle” and “grade 6.” The structural ampersand between parameters should not be confused with an ampersand encoded inside a value.
Developers often create problems by decoding an entire URL when only one component should be decoded. Reserved characters may have different roles depending on where they appear.
Suppose a query contains:
?topic=research%26writing
The encoded value represents:
research&writing
The ampersand is part of the topic value. If the complete query is decoded and then parsed incorrectly, the ampersand may be mistaken for a separator introducing another parameter.
A reliable application parses the URL according to its structure and decodes each component with an appropriate URL API rather than using arbitrary string replacements.
Students examine:
https://example.edu/library?topic=space%20science
They identify the host, path, parameter name, and encoded value.
The value space%20science becomes space science. Students explain why a literal space is not normally written directly in a shared URL.
The teacher provides:
?title=Design%20%26%20Technology
The decoded title is Design & Technology. Students observe that the encoded ampersand belongs to the title rather than separating parameters.
Students use the URL Encode Tool to prepare a new value, then decode it and compare the result.
One sequence contains an incomplete percent escape such as %2. Students identify why two hexadecimal digits are expected after the percent sign.
A student copies a library search link containing several encoded words. The visible URL is difficult to interpret.
The student decodes the query values and confirms which search terms and filters were included. The host is checked before the link is opened.
This helps the student understand how a website carries search information between pages.
A beginner developer sends a request containing a course title with an ampersand. The server receives the title as two separate parameters.
The developer inspects the raw request and discovers that the ampersand was not encoded as data. The value is prepared with a standard URL API and tested again.
The decoder helps explain the request, but the permanent fix uses structured URL handling rather than manual replacement.
A teacher receives a link to a classroom document, but the destination reports that the file cannot be found.
The URL is inspected and decoded. A filename contains a slash that may have been treated as a path separator, or a space was copied incorrectly.
The teacher obtains a new sharing link from the document owner instead of editing an unfamiliar private address blindly.
Students create a simple search form and observe the URL after submitting text containing spaces and punctuation.
They decode the parameter values and compare them with the original form input. The class discusses why browsers encode values before placing them in a URL.
No real passwords, student records, or private responses are used in the exercise.
A school newsletter link contains several tracking parameters. A teacher wants to understand what information is included before sharing it.
The URL is separated into parameters and their values are decoded. Unnecessary tracking values may be removed only when doing so does not break the required destination.
The final link is tested rather than assumed to work after manual editing.
A computing class tests a short non-English phrase in a URL. The encoded result contains several percent sequences because UTF-8 characters can use multiple bytes.
Students decode the complete sequence and compare it with the original phrase. Removing one percent-encoded byte may produce a replacement character or invalid text.
The activity demonstrates that one visible character does not always correspond to one encoded byte.
A developer expects a space but sees %2520. The sequence %25 represents a percent sign, so one decoding pass produces %20, and another may produce a space.
The developer traces where the value was encoded twice. The data flow is corrected rather than repeatedly decoding every input.
A link contains another encoded URL inside a parameter such as redirect or next.
The user decodes the value as plain text and checks the actual destination host before opening it. An encoded address should not be trusted merely because its final destination is difficult to read.
| Input | Likely Encoding | Correct Tool | Decoded Example |
|---|---|---|---|
lesson%20notes |
URL percent encoding | URL Decode | lesson notes |
<p> |
HTML entities | HTML Decode | <p> |
SGVsbG8= |
Base64 | Base64 Decode | Hello |
u003F |
Unicode escape | JSON or language-aware parser | ? |
Use the HTML Decode Tool for entity references and the Base64 Decode Tool only when the data is known to use those formats.
Spaces are commonly represented as %20. In form-style query encoding, a plus sign may also be interpreted as a space.
This creates an important distinction:
class%20notes commonly decodes to class notes.class+notes may decode to class notes in a form-query context.%2B.Use the decoding method designed for the specific component and format. A path decoder and a form-query decoder may not treat plus signs identically.
Percent encoding operates on bytes. A character outside basic ASCII may be represented by several encoded bytes.
For example, an accented letter or Arabic character may appear as a sequence of multiple percent escapes. All required bytes must remain in order and be interpreted using the correct character encoding.
If the output contains replacement symbols, check whether:
Reserved characters can change structure after decoding. Separate the URL into components and decode the intended value.
Repeated decoding can turn previously safe data into active separators or unexpected paths. Trace why multiple encoding layers exist.
Replacing %20 with spaces does not handle all encoded characters, UTF-8 sequences, malformed input, or plus-sign rules. Use a structured URL parser or standard API in code.
Decode it as text first. Inspect the scheme, hostname, path, and parameters before deciding whether to visit it.
%26 and & can both represent an ampersand in different contexts. Choose the decoder based on the actual representation.
A percent sign should be followed by two hexadecimal digits. Incomplete or invalid sequences may indicate damaged input.
URLs may appear in browser history, logs, analytics, screenshots, and shared messages. Sensitive credentials should not be placed in query strings.
Decoded values can contain characters with special meaning. A decoded slash may affect a path, an ampersand may alter parameters, and angle brackets may become markup when inserted into a webpage incorrectly.
Applications should:
Decoding is not sanitization. It reveals represented characters but does not decide whether they are safe for HTML, file paths, database queries, or redirects.
A URL can contain search terms, document identifiers, email addresses, class codes, filenames, tracking data, and other information. Decoding makes this information easier to read but does not remove it.
Do not paste private school links, reset tokens, signed URLs, student record addresses, or authentication data into an external tool. Replace sensitive values with fictional samples during lessons and debugging demonstrations.
Before sharing a screenshot of a decoded URL, remove account names, private hosts, tokens, and document identifiers.
Beginner developers should prefer structured URL APIs. In JavaScript, a query value can be inspected like this:
const url = new URL(
"https://example.edu/search?q=water%20cycle"
);
const query = url.searchParams.get("q");
console.log(query);
// water cycle
This approach parses the URL and returns the decoded parameter value. It is generally safer and clearer than splitting the complete string manually at every question mark, ampersand, and equals sign.
Use the URL Encode Tool to prepare text for use as a URL component, then decode it to verify a classroom example.
If the input contains entities such as &lt; or &quot;, use the HTML Decode Tool. For known Base64 text, use the Base64 Decode Tool.
Selecting the correct decoder prevents unnecessary transformations and makes debugging more dependable.
URL decoding turns percent-encoded sequences into readable characters. It helps students understand web addresses and helps developers inspect query values, API requests, multilingual text, redirects, and double-encoding problems.
The safest method is to identify the URL component, decode only what is needed, and preserve the original input. Treat the result as data that still requires validation.
A readable decoded link is easier to investigate, but it is not automatically safe or correct. Check its structure, destination, parameters, privacy, and intended character encoding before using it.