DevKit4You/URL Encoder

URL Encoder / Decoder

Percent-encode or decode URL components. Choose between component encoding and full URL encoding.

Mode
Plain Text / URL
0 chars
InputHello World! & lang=français
↓ encodeURIComponent
OutputHello%20World!%20%26%20lang%3Dfran%C3%A7ais
🔗
Two Modes
encodeURIComponent for query params, encodeURI for full URLs — pick the right one for your use case.
Auto-Convert
Toggle live mode and see results update instantly as you type — no button needed.
🔒
100% Private
All encoding and decoding runs in your browser. Nothing is sent to any server.
Swap Input/Output
One click to swap encoded output back to input for round-trip testing.

Overview

Meet URL Decode and Encode — a simple online tool that does exactly what it says: decodes from URL encoding as well as encodes into it quickly and easily. URL encode your data without hassles or decode it into a human-readable format.

URL encoding, also known as "percent-encoding", is a mechanism for encoding information in a Uniform Resource Identifier (URI). Although it is known as URL encoding it is, in fact, used more generally within the main URI set, which includes both Uniform Resource Locator (URL) and Uniform Resource Name (URN). As such it is also used in the preparation of data of the application/x-www-form-urlencoded media type, as is often employed in the submission of HTML form data in HTTP requests.

Advanced Options

Character Set

Our website uses the UTF-8 character set, so your input data is transmitted in that format. Change this option if you want to convert the data to another character set before encoding. Note that in case of text data, the encoding scheme does not contain the character set, so you may have to specify the appropriate set during the decoding process.

Newline Separator

Unix and Windows systems use different line break characters, so prior to encoding either variant will be replaced within your data by the selected option. You can define which one to use for the "encode each line separately" and "split lines into chunks" functions.

Encode Each Line Separately

Even newline characters are converted to their percent-encoded forms. Use this option if you want to encode multiple independent data entries separated with line breaks. (*)

Split Lines into Chunks

The encoded data will become a continuous text without any whitespaces, so check this option if you want to break it up into multiple lines. The applied character limit is defined in the MIME (RFC 2045) specification, which states that the encoded lines must be no more than 76 characters long. (*)

Live Mode

When you turn on this option the entered data is encoded immediately with your browser's built-in JavaScript functions, without sending any information to our servers. Currently this mode supports only the UTF-8 character set.

(*) These options cannot be enabled simultaneously since the resulting output would not be valid for the majority of applications.

🔒 Safe & Secure

All communications with our servers come through secure SSL encrypted connections (https). We delete uploaded files from our servers immediately after being processed. We do not keep or inspect the contents of submitted data or uploaded files in any way.

✅ Completely Free

Our tool is free to use. From now on, you don't need to download any software for such simple tasks.

Details of URL Encoding

Types of URI Characters

The characters allowed in a URI are either reserved or unreserved (or a percent character as part of a percent-encoding). Reserved characters are those that sometimes have special meaning — for example, forward slash characters are used to separate different parts of a URL. Unreserved characters have no such special meanings.

RFC 3986 §2.2 — Reserved Characters
! * ' ( ) ; : @ & = + $ , / ? # [ ]
RFC 3986 §2.3 — Unreserved Characters (never need encoding)
A–Z a–z 0–9 - _ . ~

All other characters in a URI must be percent-encoded.

Percent-Encoding Reserved Characters

When a reserved character has special meaning in a particular context and needs to be used for a different purpose, it must be percent-encoded. Percent-encoding a reserved character means converting the character to its corresponding byte value in ASCII and representing that value as a pair of hexadecimal digits preceded by a percent sign (%).

For example, the reserved character /, if used as data within a URI path segment (rather than as a delimiter), must be written as %2F.

CharacterEncoded CharacterEncoded CharacterEncoded
!%21#%23$%24
&%26'%27(%28
)%29*%2A+%2B
,%2C/%2F:%3A
;%3B=%3D?%3F
@%40[%5B]%5D

Common Characters After Percent-Encoding

Below are commonly encountered characters and their percent-encoded equivalents (ASCII / UTF-8 based):

CharacterEncodedCharacterEncoded
newline%0A / %0D / %0D%0Aspace%20
"%22%%25
-%2D.%2E
<%3C>%3E
\%5C^%5E
_%5F`%60
{%7B|%7C
}%7D~%7E

Key Rules to Remember

Unreserved Characters Never Need Encoding

Characters from the unreserved set (A–Z, a–z, 0–9, - _ . ~) never need to be percent-encoded. URIs that differ only by whether an unreserved character is percent-encoded are equivalent by definition.

Encoding the Percent Character Itself

Because the percent character (%) serves as the indicator for percent-encoded octets, it must itself be percent-encoded as %25 when used as literal data within a URI.

Binary Data

Since RFC 1738 (1994), schemes that provide for binary data in a URI must divide the data into 8-bit bytes and percent-encode each byte. Byte value 0F (hex), for example, should be represented as %0F, while byte value 41 can be represented as A or %41. Unencoded characters for alphanumeric values are preferred since they produce shorter URLs.

encodeURI vs encodeURIComponent

encodeURI is designed for a complete URL — it preserves characters like /, ?, #, and & that have structural meaning. encodeURIComponent is designed for individual components (e.g. a query parameter value) and encodes those structural characters too, making it safe to embed any string as a value without breaking URL structure.