%3A in a URL
The percent-encoded colon (:).
Short answer
%3A is the percent-encoded colon (:). A colon separates the scheme from the rest of a URL (https:), a host from its port (:8080) and a username from a password, so a colon inside a value is encoded to keep it from being misread.
- Character
- :
- Percent-encoded
- %3A
- Byte value
- 0x3A = 58
- RFC 3986 class
- gen-delim
- UTF-8 bytes
- 1
Where you will see it
- The start of a URL passed as a parameter: https%3A%2F%2F instead of https://.
- Times and ratios in query values: time=10%3A30.
- Output of encodeURIComponent; encodeURI leaves colons alone.
What goes wrong
- A literal colon is allowed in most parts of a URL, so encoding it is often optional. It becomes necessary when it would be misread: in the first segment of a relative path, or when a whole URL is nested inside another.
- %3A%2F%2F is the signature of an encoded URL scheme. If you see it in a link, the link is a URL inside a URL.
Decoded examples
| Encoded | Decodes to | What it is | Open in the decoder |
|---|---|---|---|
| https%3A%2F%2Fexample.com | https://example.com | An encoded URL scheme and host. | Open in decoder |
| time=10%3A30 | time=10:30 | A time value in a query parameter. | Open in decoder |
How each language encodes :
Outputs below come from running each function, not from documentation. “Kept” means the function leaves the character as it is. Compare every character across every function.
| Language | Function | Output for : |
|---|---|---|
| JavaScript | encodeURIComponent | %3A |
| JavaScript | encodeURI | kept |
| JavaScript | URLSearchParams | %3A |
| JavaScript | escape (deprecated) | %3A |
| Python | quote (default safe='/') | %3A |
| Python | quote (safe='') | %3A |
| Python | quote_plus | %3A |
| C# | Uri.EscapeDataString | %3A |
| C# | WebUtility.UrlEncode | %3A |
| C# | HttpUtility.UrlEncode | %3a |
Questions
Why does https:// become https%3A%2F%2F?
The whole URL was encoded as a single value, usually with encodeURIComponent, so that it can travel safely inside another URL's query string. Decode it to read the original address.
Do I have to encode a colon in a query string?
Not always: a colon is legal inside a query string. Encoding it is safe and avoids ambiguity, which is why encodeURIComponent and most libraries do it.
Decode or encode your own text
Paste anything containing %3A. It runs in your browser; nothing is uploaded.
Related characters
%2F
forward slash
%2F is the percent-encoded forward slash (/).
%40
at sign
%40 is the percent-encoded at sign (@).
%3D
equals sign
%3D is the percent-encoded equals sign (=).
All percent-encoded characters · Full percent-encoding table · What is URL encoding?
Behaviour checked against RFC 3986, the WHATWG URL Standard and MDN. Updated November 4, 2026
Tools
URL Encoder
Percent-encode a value, a full URL or form data, with strict RFC 3986 and +/%20 options.
URL Parser
Split a URL into scheme, host, port, path, query and fragment, with checks for common problems.
Query String Parser
Edit query parameters as a table, rebuild the string, or export it as JSON.
Base64 Encode/Decode
Convert text to Base64 and back, including the URL-safe Base64URL alphabet.
HTML Encode/Decode
Escape text to HTML entities and decode entities back to text.
JWT Decoder
Read a JSON Web Token's header and payload and check its expiry.