URL Encoder & Decoder

Encode Mode

Batch Input

0 Items

1 Output lines

0 Output chars

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 encodingRecommended mode
Query valueComponent
Search termComponent
UTM campaign nameComponent
FilenameComponent
Path segmentComponent
Nested redirect URLComponent
Complete URLFull URL
Copied address bar URLFull URL
URL with spacesFull 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:

CharacterEncoded 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.

  1. You choose Encode or Decode.
  2. In Encode mode, you choose Component or Full URL.
  3. Component mode encodes the input as a URL component.
  4. Full URL mode encodes the input as a full URI while preserving URL structure.
  5. If Spaces as + is enabled, %20 is converted to +.
  6. If Lowercase %hex is enabled, percent escapes are normalized to lowercase.
  7. In Decode mode, + can be converted to spaces before decoding.
  8. In batch mode, each line is processed independently.
  9. 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.

Frequently Asked Questions

It encodes readable text into URL-safe percent-encoded output and decodes percent-encoded URLs or components back into readable text. You can process a single value or many values line by line.

Component mode is best for individual URL parts such as query values, path segments, search terms, filenames, and redirect parameter values. Full URL mode is best when the input is already a complete URL because it keeps structural characters such as : / ? # & = intact.

Yes. Switch to Decode mode to turn percent-encoded text back into readable text. The decoder can also treat plus signs as spaces for query-string and form-style values.

Batch by newline treats each input line as a separate item. It is useful for encoding or decoding lists of URLs, query values, filenames, keywords, redirects, or log entries while preserving line alignment.

Spaces as + changes encoded spaces from %20 to plus signs, which is common in query strings and application/x-www-form-urlencoded data. Use it when the receiving system expects spaces to appear as +.

No. Encoding, decoding, batch processing, and copying happen locally in your browser. The tool does not need to upload your input to a server.

Explore Our Tools

Read More From Our Blog