URL Encoder & Decoder
This tool lets you encode and decode URLs, query values, path segments, redirect URLs, and percent-encoded text with live output, batch processing, plus-space handling, and one-click copy.
It is useful for developers, SEOs, marketers, QA testers, support teams, and anyone who works with links, query strings, redirects, logs, analytics exports, or campaign URLs.
What This Tool Does
This is a focused URL encoder, URL decoder, and percent-encoding utility.
It helps you convert readable text into URL-safe output, and it helps you decode encoded strings back into readable text.
You can use it for:
- query parameter values
- search terms
- UTM campaign names
- redirect URL parameters
- path segments
- filenames
- multilingual text
- emoji-containing values
- copied URLs from logs
- encoded analytics values
- form-encoded strings
- batch URL lists
- debugging broken links
The tool supports Encode and Decode mode, plus options for batch processing, trimming lines, handling spaces as +, decoding + as spaces, and normalizing lowercase percent escapes.
Everything runs locally in your browser.
Why URL Encoding Matters
URLs are not plain text. A URL has structure, and certain characters have special meaning.
For example:
https://example.com/search?q=blue shoes&sort=new
In that URL:
:separates the scheme/separates path parts?starts the query string=connects a parameter key to a value&separates query parameters- spaces are not safe as raw spaces
If you insert unencoded text into a URL, the browser or server may read it incorrectly.
Example value:
blue shoes & sandals
Correct encoded value:
blue%20shoes%20%26%20sandals
The & becomes %26, so it remains part of the value instead of accidentally splitting the query string.
Encode Mode vs Decode Mode
Encode Mode
Encode mode turns readable text into URL-safe output.
Input:
image padding adjuster
Encoded output:
image%20padding%20adjuster
Use Encode mode when you are preparing values to place inside a URL.
Decode Mode
Decode mode turns percent-encoded text back into readable text.
Input:
image%20padding%20adjuster
Decoded output:
image padding adjuster
Use Decode mode when you are reading logs, debugging links, inspecting redirects, or trying to understand encoded query values.
Component Mode vs Full URL Mode
This is the most important distinction in the tool.
Encoding a single URL part is different from encoding a whole URL.
Component Mode
Component mode is best for individual values that will be inserted into a URL.
Use Component mode for:
- query parameter values
- search terms
- UTM values
- path segments
- redirect URL values
- filenames
- campaign labels
- user-generated text
- strings that may contain
&,=,/,?, or#
Example input:
red shoes & sandals
Component output:
red%20shoes%20%26%20sandals
The & is encoded, so it stays inside the value.
Full URL Mode
Full URL mode is best when the input is already a complete URL.
It keeps important URL separators readable while encoding unsafe characters.
Example input:
https://example.com/search?q=red shoes&sort=new
Full URL output:
https://example.com/search?q=red%20shoes&sort=new
The :, /, ?, &, and = characters remain in place, so the URL structure is preserved.
Simple Rule
Use Component when the input is a value that goes inside a URL.
Use Full URL when the input is already a complete URL.
| What you are encoding | Recommended mode |
|---|---|
| Query value | Component |
| Search term | Component |
| UTM campaign name | Component |
| Filename | Component |
| Path segment | Component |
| Nested redirect URL | Component |
| Complete URL | Full URL |
| Copied address bar URL | Full URL |
| URL with spaces | Full URL |
When in doubt, ask: am I encoding the whole URL, or just a value that will become part of one?
How to Use the URL Encoder & Decoder
1. Choose Encode or Decode
Use Encode to convert readable text into URL-safe output.
Use Decode to convert encoded text back into readable output.
2. Choose Component or Full URL in Encode mode
Use Component for URL values and individual URL parts.
Use Full URL for complete URLs.
3. Paste or type your input
Enter one value or a list of values. The result appears live in the output panel.
4. Use Batch by newline for lists
Batch mode treats each line as a separate item.
This is helpful for:
- keyword lists
- URL lists
- redirect lists
- filenames
- spreadsheet values
- log entries
- query values
- campaign names
Empty lines are preserved so the output stays aligned with the input.
5. Adjust options
Depending on the task, enable or disable:
- Trim lines
- Spaces as +
- Lowercase %hex
- + as space
6. Copy the output
Use Copy to copy the encoded or decoded output in one click.
Understanding the Options
Batch by newline
Batch mode processes each line separately.
Input:
red shoes
blue shirt
summer sale 50%
Component-encoded output:
red%20shoes
blue%20shirt
summer%20sale%2050%25
This is much faster than encoding one value at a time.
Trim lines
Trim lines removes leading and trailing whitespace from each line before processing.
This is useful when copying values from spreadsheets, documents, or logs.
Disable it when leading or trailing spaces are intentionally part of the value.
Spaces as “+”
In Encode mode, this option changes %20 into +.
Without it:
red%20shoes
With it:
red+shoes
This is common in query strings and form-style encoded data.
Lowercase %hex
This option normalizes percent escapes to lowercase.
Example:
%2F%3F%26
Becomes:
%2f%3f%26
This usually does not change meaning. It is mainly useful for style consistency.
“+” as space
In Decode mode, this option converts + into a space before decoding.
Input:
red+shoes
Output:
red shoes
This is useful for query-string and form-style values.
What Percent-Encoding Means
Percent-encoding represents characters using % followed by hexadecimal values.
Common examples:
| Character | Encoded form |
|---|---|
| space | %20 |
% | %25 |
& | %26 |
= | %3D |
/ | %2F |
? | %3F |
# | %23 |
+ | %2B |
: | %3A |
For non-ASCII text, the encoded output may be longer because the text is represented as UTF-8 bytes.
Practical Examples
Encode a query parameter value
Input:
image converter & resizer
Use Component mode.
Output:
image%20converter%20%26%20resizer
Safe URL:
https://example.com/search?q=image%20converter%20%26%20resizer
The & is encoded so it does not split the query string.
Encode a full URL
Input:
https://example.com/search?q=red shoes&sort=new
Use Full URL mode.
Output:
https://example.com/search?q=red%20shoes&sort=new
The URL stays readable and functional.
Encode a redirect URL as a parameter
Input:
https://example.com/pricing?plan=pro&coupon=summer
If this URL will become a value inside another URL, use Component mode.
Output:
https%3A%2F%2Fexample.com%2Fpricing%3Fplan%3Dpro%26coupon%3Dsummer
Example final URL:
https://login.example.com/continue?next=https%3A%2F%2Fexample.com%2Fpricing%3Fplan%3Dpro%26coupon%3Dsummer
This prevents the inner URL from breaking the outer query string.
Decode a percent-encoded value
Input:
summer%20sale%2050%25
Output:
summer sale 50%
Decode plus signs as spaces
Input:
summer+sale+50%25
With + as space enabled:
summer sale 50%
This is common in query strings and form-style encoded data.
Common URL Encoding Mistakes
Encoding a full URL as a component
Input:
https://example.com/search?q=red shoes
Component output:
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dred%20shoes
This is correct only if the full URL is being used as a value inside another URL.
If you wanted to keep the URL usable directly, use Full URL mode instead.
Not encoding & inside a value
Problem value:
red shoes & sandals
Unsafe query:
?q=red shoes & sandals
Safe query value:
red%20shoes%20%26%20sandals
Double-encoding
Double-encoding happens when an already encoded value is encoded again.
Text:
red shoes
Encoded once:
red%20shoes
Encoded twice:
red%2520shoes
The %25 means the percent sign itself was encoded.
If you see %2520, %253A, or %252F, double-encoding may be the issue.
Treating + incorrectly
In many query-string contexts, + represents a space.
But in other contexts, + may be a literal plus sign.
Use + as space when decoding query-style values. Disable it when the plus sign should remain literal.
Malformed Percent-Encoding
Decode mode expects valid percent-encoded sequences.
A percent sign should normally be followed by two hexadecimal characters.
Valid:
hello%20world
Invalid:
hello%world
When decoding fails, the tool shows an error line such as:
!ERROR: Malformed percent-encoding
In batch mode, this helps you identify the problematic line without losing the rest of the output.
URL Encoding for Common Workflows
Query strings and UTM parameters
Query strings are one of the most common places where URL encoding matters.
Raw campaign value:
spring launch / creator ads
Encoded value:
spring%20launch%20%2F%20creator%20ads
Final URL:
https://example.com/?utm_campaign=spring%20launch%20%2F%20creator%20ads
This keeps the campaign value intact.
Path segments
Path segments also need careful encoding.
If a filename or slug segment contains a slash, that slash should be encoded when it is part of the name.
Input:
summer shoes / sandals
Component output:
summer%20shoes%20%2F%20sandals
If the slash is not encoded, it may be treated as a path separator instead of text.
Logs and analytics
URLs in logs and analytics tools are often encoded.
Example:
%2Ftools%2Fimage-converter%3Fformat%3Dwebp%26quality%3D80
Decoded:
/tools/image-converter?format=webp&quality=80
Decoding makes it easier to understand server logs, CDN logs, redirect chains, analytics exports, crawler request paths, and broken link reports.
Developer workflows
Developers often need URL encoding for:
- routing
- redirects
- OAuth callback URLs
- API query strings
- signed URLs
- webhook URLs
- file download names
- search filters
- dynamic path segments
- deep links
- app share links
- encoded return URLs
This tool is useful when you want to test the exact output quickly without opening a console or writing a snippet.
Batch Processing Workflows
Batch by newline is useful when you have a list.
Examples:
- encode product names for URL parameters
- decode search queries from logs
- prepare redirect target values
- normalize campaign labels
- encode filenames copied from a spreadsheet
- decode broken URL examples from support tickets
Because blank lines are preserved, the output can stay aligned with the original input list.
That is important when copying results back into a spreadsheet or comparing line-by-line data.
Output Stats
The badges below the editors summarize the current result.
They show:
- current mode: Encode or Decode
- input type: Batch or Single
- number of non-empty items
- output line count
- output character count
These stats are useful when checking whether a batch list was processed correctly.
For example, if you expected 50 values but the tool shows 47 items, some lines may be empty after trimming.
Privacy and Local Processing
This tool runs in your browser.
Your URLs, text, query values, copied lists, and decoded output are processed locally and do not need to be uploaded to a server.
That is helpful for quick debugging, SEO work, analytics cleanup, and development tasks.
Still, treat URLs carefully. URLs can contain sensitive data such as:
- access tokens
- reset links
- signed URLs
- private document IDs
- email addresses
- user identifiers
- session-like parameters
- internal hostnames
Even with local processing, avoid sharing screenshots or copied output that contains private information.
Common Problems and Quick Fixes
“My URL became completely encoded.” You probably used Component mode on a complete URL. Use Full URL mode if you want to preserve URL separators.
“My redirect parameter breaks the outer URL.” Encode the redirect URL using Component mode before placing it into the outer URL.
“Spaces became %20 but I need +.”
Enable Spaces as + in Encode mode.
“Plus signs are not decoding into spaces.”
Enable + as space in Decode mode.
“I see %2520 instead of a space.” The value may be double-encoded. Decode it once to inspect the intermediate value.
“One batch line shows an error.”
That line probably contains malformed percent-encoding. Check for a stray % or incomplete escape sequence.
“My output has fewer items than expected.” Trim lines may turn whitespace-only lines into empty lines. Check the item count badge.
“A slash changed to %2F.” That is expected in Component mode. Use Full URL mode when the slash is meant to remain a URL path separator.
Tips for Better Results
Use Component mode for query values, path segments, filenames, search terms, campaign names, and nested redirect URLs.
Use Full URL mode when the input is already a complete URL and you want to keep the main URL structure readable.
Watch for double-encoding. If you see %2520, %253A, or %252F, decode once and check whether the value was encoded twice.
Use + as space when decoding query-string values, unless you know the plus sign is meant to be literal.
Leave Trim lines enabled when processing copied spreadsheet values or log lists. Disable it only when leading or trailing spaces are meaningful.
Use lowercase percent escapes when you want consistent output style.
How It Works
The tool uses standard browser URL encoding and decoding behavior.
- You choose Encode or Decode.
- In Encode mode, you choose Component or Full URL.
- Component mode encodes the input as a URL component.
- Full URL mode encodes the input as a full URI while preserving URL structure.
- If Spaces as
+is enabled,%20is converted to+. - If Lowercase
%hexis enabled, percent escapes are normalized to lowercase. - In Decode mode,
+can be converted to spaces before decoding. - In batch mode, each line is processed independently.
- The result updates live and can be copied in one click.
This gives you the same practical behavior developers often need from encodeURIComponent, encodeURI, decodeURIComponent, and decodeURI, but in a fast visual interface.
Best Use Cases
This tool is especially useful for:
- URL encoding text
- URL decoding text
- encoding query parameter values
- decoding query strings
- encoding redirect URLs
- debugging double-encoded values
- processing URL lists by newline
- decoding log entries
- preparing UTM values
- encoding path segments
- converting spaces to plus signs
- normalizing percent-encoded output
A browser console can encode and decode URLs, but this interface is faster for real workflows because it adds live output, batch processing, line trimming, plus-space handling, component vs full URL mode, lowercase hex normalization, output stats, and one-click copy.