---
title: "URL Encode & Decode: Free Online Tool with Guide & FAQs | ShoutingNow"
description: "Encode plain text or URLs into percent-encoded format, or decode %XX sequences back to readable text - all in your browser."
url: "https://shoutingnow.com/tools/url-encode-decode/"
image: "https://shoutingnow.com/wp-content/uploads/2026/07/URL-encoding-tutorial-and-fixer-tool-1024x683.webp"
---

# URL Encode &#038; Decode

Encode plain text or a URL into percent-encoded format, or decode %XX sequences back into readable text, all without leaving your browser. It supports live UTF-8 mode, recursive decode, MIME line wrapping, and file uploads up to 100MB.

Want the full walkthrough with RFC tables, formulas, and the common %20 mistakes people make? Our [URL Encoding Tutorial & Fixer Guide](https://shoutingnow.com/blog/url-encoding-tutorial-and-fixer/) pairs with this [free URL Encode & Decode tool](https://shoutingnow.com/tools/url-encode-decode/) and covers query strings, form data, and character-set pitfalls.

## What this tool does

**URL encoding**, or percent-encoding, swaps unsafe characters in a URI for % followed by two hex digits. Spaces turn into %20, ampersands into %26, and non-ASCII bytes get encoded per UTF-8. Our encoder and decoder both run locally in your browser, so text never leaves your device unless you actually download a file.

## Encode and decode in one page

1. Encode text: paste a URL or string, pick a character set and newline separator, optionally enable live UTF-8 mode, then click ENCODE or copy the result.
2. Decode text: paste percent-encoded data, choose source charset, enable recursive decode for double-encoded strings, then click DECODE.
3. Files: upload binaries or text files (max 100MB), encode with BINARY (no conversion) or a text charset, or decode uploaded percent-encoded files and download the result.

## Advanced options

Option
Purpose

Character set
Convert text to/from UTF-8, ASCII, ISO-8859 variants, Windows code pages, EUC, Shift_JIS, and more before encoding.

Newline separator
Normalize line breaks to LF (Unix) or CRLF (Windows) before encoding text.

Each line separately
Encode or decode multiple entries separated by line breaks (mutually exclusive with MIME chunks).

76-character chunks
Wrap continuous encoded output for MIME (RFC 2045).

Live mode
Real-time UTF-8 encode/decode as you type, no button click.

Recursive decode
Repeat decoding up to 16 times for multiply-encoded strings.

## Common percent-encoded characters

Character
Encoded
Character
Encoded

Space
%20
+ (plus in forms)
%2B or space

/
%2F
?
%3F

&
%26
#
%23

=
%3D
%
%25

## Privacy

Text encoding and decoding both run on JavaScript in your browser, so ShoutingNow never stores pasted content or uploaded files on a server. File processing happens right on your device, and downloaded results get generated locally too.

## Learn more

Read our step-by-step guide: [URL Encoding Tutorial & Fixer Guide](https://shoutingnow.com/blog/url-encoding-tutorial-and-fixer/).

## Related tools

- UUID Generator
- Sitemap Link Counter
- QR Code Generator
- Image to Base64
- Character Counter
- Browse all tools

## Frequently Asked Questions

### What is URL encoding?
It represents characters in a URI using % plus two hex digits, sometimes called percent-encoding. You need it for spaces, reserved characters like & and # inside query strings, and any byte that falls outside the unreserved set defined in RFC 3986.

### Why does my URL show %20 instead of a space?
Literal spaces are not allowed in URLs, and %20 is the correct percent-encoded form for one in the path or query. Some forms use + for spaces instead, inside application/x-www-form-urlencoded bodies, and our decoder treats + as a space too.

### Is this URL encoder free?
Yes, encode and decode as much text as you want with no signup. Live mode and file uploads up to 100MB come at no cost on ShoutingNow.

### What character set should I use?
Most modern web apps run on **UTF-8**. Only switch to another charset if you know the source system used ISO-8859-1, Windows-1252, or some other legacy encoding. For binary files, pick **BINARY (no conv.)** in the file section.

### What does recursive decode do?
Some systems percent-encode a string more than once, so %2520 ends up meaning a double-encoded space. Recursive decode repeats the process up to 16 times until the string finally stops changing.

### Where can I learn more about percent-encoding?
Our [URL Encoding Tutorial & Fixer Guide](https://shoutingnow.com/blog/url-encoding-tutorial-and-fixer/) covers RFC 3986 tables, reserved vs unreserved characters, real use cases, and the common mistakes people run into along with fixes.

```json
[{"@context":"https://schema.org","@type":"Organization","name":"ShoutingNow","url":"https://shoutingnow.com/","logo":{"@type":"ImageObject","url":"https://shoutingnow.com/wp-content/themes/shoutingnow-theme/assets/images/logo.png"},"sameAs":["https://x.com/makani20","https://www.linkedin.com/in/makani20/","https://post-see.com"],"contactPoint":{"@type":"ContactPoint","contactType":"customer support","email":"support@shoutingnow.com","url":"https://shoutingnow.com/contact/"},"slogan":"Learn. Build. Grow."},{"@context":"https://schema.org","@type":"WebPage","name":"URL Encode &#038; Decode","description":"Encode plain text or URLs into percent-encoded format, or decode %XX sequences back to readable text - all in your browser.","url":"https://shoutingnow.com/tools/url-encode-decode/","inLanguage":"en-US"},{"@context":"https://schema.org","@type":"SoftwareApplication","name":"URL Encode &#038; Decode","description":"Encode plain text or URLs into percent-encoded format, or decode %XX sequences back to readable text - all in your browser.","applicationCategory":"UtilitiesApplication","operatingSystem":"Web","url":"https://shoutingnow.com/tools/url-encode-decode/","isAccessibleForFree":true,"offers":{"@type":"Offer","price":0,"priceCurrency":"USD","availability":"https://schema.org/InStock","url":"https://shoutingnow.com/tools/url-encode-decode/"},"provider":{"@type":"Organization","name":"ShoutingNow","url":"https://shoutingnow.com/","logo":{"@type":"ImageObject","url":"https://shoutingnow.com/wp-content/themes/shoutingnow-theme/assets/images/logo.png"},"sameAs":["https://x.com/makani20","https://www.linkedin.com/in/makani20/","https://post-see.com"],"contactPoint":{"@type":"ContactPoint","contactType":"customer support","email":"support@shoutingnow.com","url":"https://shoutingnow.com/contact/"}},"image":"https://shoutingnow.com/wp-content/uploads/2026/07/URL-encoding-tutorial-and-fixer-tool-1024x683.webp"},{"@context":"https://schema.org","@type":"HowTo","name":"How to use URL Encode &#038; Decode","description":"Encode plain text or URLs into percent-encoded format, or decode %XX sequences back to readable text - all in your browser.","url":"https://shoutingnow.com/tools/url-encode-decode/","inLanguage":"en-US","step":[{"@type":"HowToStep","name":"Encode text","text":"Encode text: paste a URL or string, pick a character set and newline separator, optionally enable live UTF-8 mode, then click ENCODE or copy the result."},{"@type":"HowToStep","name":"Decode text","text":"Decode text: paste percent-encoded data, choose source charset, enable recursive decode for double-encoded strings, then click DECODE."},{"@type":"HowToStep","name":"Files","text":"Files: upload binaries or text files (max 100MB), encode with BINARY (no conversion) or a text charset, or decode uploaded percent-encoded files and download the result."}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is URL encoding?","acceptedAnswer":{"@type":"Answer","text":"It represents characters in a URI using % plus two hex digits, sometimes called percent-encoding. You need it for spaces, reserved characters like &amp; and # inside query strings, and any byte that falls outside the unreserved set defined in RFC 3986."}},{"@type":"Question","name":"Why does my URL show %20 instead of a space?","acceptedAnswer":{"@type":"Answer","text":"Literal spaces are not allowed in URLs, and %20 is the correct percent-encoded form for one in the path or query. Some forms use + for spaces instead, inside application/x-www-form-urlencoded bodies, and our decoder treats + as a space too."}},{"@type":"Question","name":"Is this URL encoder free?","acceptedAnswer":{"@type":"Answer","text":"Yes, encode and decode as much text as you want with no signup. Live mode and file uploads up to 100MB come at no cost on ShoutingNow."}},{"@type":"Question","name":"What character set should I use?","acceptedAnswer":{"@type":"Answer","text":"Most modern web apps run on UTF-8. Only switch to another charset if you know the source system used ISO-8859-1, Windows-1252, or some other legacy encoding. For binary files, pick BINARY (no conv.) in the file section."}},{"@type":"Question","name":"What does recursive decode do?","acceptedAnswer":{"@type":"Answer","text":"Some systems percent-encode a string more than once, so %2520 ends up meaning a double-encoded space. Recursive decode repeats the process up to 16 times until the string finally stops changing."}},{"@type":"Question","name":"Where can I learn more about percent-encoding?","acceptedAnswer":{"@type":"Answer","text":"Our URL Encoding Tutorial &amp; Fixer Guide covers RFC 3986 tables, reserved vs unreserved characters, real use cases, and the common mistakes people run into along with fixes."}}]},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"ShoutingNow","item":"https://shoutingnow.com/"},{"@type":"ListItem","position":2,"name":"Tools","item":"https://shoutingnow.com/tools/"},{"@type":"ListItem","position":3,"name":"URL Encode & Decode","item":"https://shoutingnow.com/tools/url-encode-decode/"}]}]
```