D/F DevFormat.tools
Encoding Runs locally

Text ↔ URL encoded converter

Encode text for URL components or decode percent-encoded URLs locally in your browser. Unicode-safe, instant, reversible and no uploads.

Paste either format, then choose a direction.

Private · browser only

Your data stays in this browser. Nothing is uploaded.

Conversion directions

Direction 01

Text to URL encoded

Encode text safely for a URL path, query value or fragment.

Direction 02

URL encoded to Text

Decode percent-encoded URL component text into readable text.

About this converter

URL component encoding

URLs reserve characters such as spaces, slashes, question marks and hashes for structure. Percent encoding represents the UTF-8 bytes of text with a percent sign and two hexadecimal digits, letting a value travel safely inside a path segment, query value or fragment.

This converter uses encodeURIComponent, the browser API for encoding a single URL component. It does not parse or rewrite a complete URL, so protocol, host and separators stay outside the text you encode.

Plus signs and form encoding

A plus sign is ordinary text in a URL component. This tool encodes it as %2B and leaves an input plus sign unchanged when decoding, preserving values such as C++ and a+b exactly.

Some HTML forms use application/x-www-form-urlencoded, where plus represents a space. That is a different format with different rules; use a dedicated form encoder when that server-side convention is required.

Decode URLs safely

Valid percent-encoded text can be decoded back to readable Unicode, including Chinese, accented characters and emoji. Decoding is reversible when the source used URL component encoding.

Malformed escapes such as %ZZ or a lone percent sign are rejected instead of being partially changed. Correct the source text before decoding so that its meaning stays unambiguous.

Path, query, and fragment differences

Different URL parts have different escaping needs. Path segments should protect slashes, query values often need additional escaping before they are appended, and fragments may carry application state that should not be rewritten blindly.

This tool is most useful when you already know the exact substring that needs escaping. If you need to normalize an entire URL, encode each component separately instead of pasting the whole URL into a single field.

Frequently asked questions

What does URL encoding do?

URL encoding replaces characters that have special URL meanings with percent-encoded UTF-8 bytes, so text can safely appear in a URL path, query value or fragment.

Does this tool treat plus as a space?

No. This tool uses URL component encoding, where plus is a literal character. It encodes + as %2B and decodes + back to +.

Why does a space become %20 instead of +?

%20 is the standard URL component representation for a space. The + convention belongs to HTML form encoding and is not applied here.

Does URL encoding support Unicode and emoji?

Yes. Text is encoded as UTF-8 percent escapes, so CJK characters, accented text and emoji round-trip correctly.

Why can URL decoding fail?

Decoding requires complete valid percent escapes. Inputs such as %ZZ, a trailing percent sign or invalid UTF-8 bytes cannot be decoded.

Is my URL text uploaded?

No. Encoding and decoding run in your browser memory. Nothing is uploaded, stored or logged on a server.