Skip to content
uencoder
TUTORIAL

How to URL Encode Special Characters

Encode characters that are unsafe in URLs so they can be transmitted correctly in query strings.

Problem

Your URL contains spaces, ampersands, or other special characters that break the query string structure.

Prerequisites

  • Basic knowledge of URL structure
  • Understanding of percent-encoding

Steps

  1. 1. Identify unsafe characters

    Characters like space, &, =, ?, #, and + have special meaning in URLs. Leaving them unencoded will change how the server parses the query string. Review your input and flag every reserved or non-ASCII character.

    Input
    name=John Doe & Co.
    Output
    unsafe: space, &
  2. 2. Percent-encode each character

    Replace each unsafe character with a percent sign followed by its two-digit UTF-8 hex byte. A space becomes %20, an ampersand becomes %26, and a non-ASCII character may produce multiple percent sequences.

    Input
    name=John Doe & Co.
    Output
    name=John%20Doe%20%26%20Co.
  3. 3. Verify the encoded URL

    Paste the encoded URL into a browser or HTTP client. The server should receive the original string exactly. If any character is still raw, the encoding was incomplete.

    Input
    name=John%20Doe%20%26%20Co.
    Output
    server receives: name=John Doe & Co.

Expected result

A fully percent-encoded URL that any standards-compliant server can parse without ambiguity.

Common errors

Encoding the entire URL including the scheme and host
Only encode the query parameter values and path segments, not the protocol or domain.
Double-encoding an already-encoded string
Check for existing % sequences before encoding. Decode first if you need to re-encode.

Troubleshooting

  • If the server receives literal %20 instead of a space, the string was double-encoded.
  • Use encodeURIComponent in JavaScript for query values, not encodeURI.

Security limits

  • URL encoding prevents parsing errors but does not prevent injection. Validate and sanitize all input on the server side.

Related tools

Related glossary

Related tasks

Ready to run it?

References