Handytool
Developer guide5 min readUpdated Jun 8, 2026

Instant Dev Utility

URL Encode and Decode Any String Instantly

Handytool's URL encoder percent-encodes text for safe use in query strings or decodes percent-encoded strings back to readable text — privately in your browser, with component and full URI scope.

Key takeaways

  • 01Percent-encode any text for safe use in URLs or query strings in one click.
  • 02Supports component scope (encodes everything) and full URI scope (preserves structural characters).
  • 03Handles Unicode — emoji and non-ASCII characters are UTF-8 encoded then percent-encoded byte by byte.
  • 04Runs entirely in your browser; your input is never uploaded or logged.

Why URL Encoding Matters

URLs can only contain a specific set of ASCII characters. Spaces, ampersands, equals signs, and any non-ASCII text (emoji, Chinese characters, Arabic script) must be percent-encoded before they appear in a URL. Without encoding, a space in a query parameter would be read as a URL separator, and a & would be interpreted as a delimiter between parameters — silently corrupting the request.

Developers run into URL encoding constantly: building API request URLs by hand, constructing redirect targets, debugging malformed query strings, or working with OAuth callback URLs. Handytool's URL encoder handles both encoding and decoding with the correct Unicode behavior, no install, and no server round-trip.

How to URL Encode or Decode a String

  1. 01

    Paste your text

    Type or paste the string you want to encode — for example, a query parameter value containing spaces or special characters — into the input box.

  2. 02

    Choose component or full URI scope

    Select component scope to encode a single query parameter value (escapes every reserved character including / and ?). Select full URI scope to encode an entire URL while keeping /, ?, and # as structural separators.

  3. 03

    Click Encode or Decode

    Click Encode to convert the text to a percent-encoded string, or Decode to convert %20, %3F, and every other percent sequence back to readable characters.

  4. 04

    Copy and use the result

    Click the copy button and paste the encoded or decoded string wherever you need it — a URL, an API call, a config file, or your code editor.

Characters That Must Be Encoded in Query Parameters

These characters have special meaning in URLs and break query strings if left unescaped.

  • 01Space → %20 (or + in form-encoded bodies, but %20 in URL query strings).
  • 02& → %26 — separates query parameters, so it must be escaped inside a value.
  • 03= → %3D — separates key from value, must be escaped inside a value.
  • 04+ → %2B — often misread as a space in older servers; always encode explicitly.
  • 05# → %23 — marks the fragment identifier; encode inside any value.
  • 06Non-ASCII (emoji, CJK, etc.) → UTF-8 bytes encoded as %XX%XX sequences.

Encode Tokens and Credentials Without Privacy Risk

The URL encoder runs entirely in your browser using the native encodeURIComponent and encodeURI JavaScript functions. Nothing is transmitted to any server. That means you can safely encode OAuth tokens, API keys, or private redirect URIs without those values ever leaving your machine.

Once you close or reload the tab, your input is gone. There is no session, no logging, and no account required.

URL Encoder FAQ

What is URL encoding or percent encoding?

URL encoding replaces characters that have special meaning in URLs — spaces, &, =, ?, and non-ASCII text — with a % followed by two hex digits. It lets you safely include arbitrary text in a URL without breaking its structure.

What is the difference between component and full URI encoding?

Component encoding (encodeURIComponent) escapes every reserved character including / and ?. Use it for individual query parameter values. Full URI encoding (encodeURI) preserves structural characters so the whole URL remains valid.

How does the tool handle Unicode and emoji?

Unicode characters are converted to UTF-8 bytes first and then each byte is percent-encoded as %XX, matching the standard all modern browsers use.

Is URL encoding the same as HTML entity encoding?

No. URL encoding uses percent-sequences (%20 for space); HTML entity encoding uses named or numeric references (& for &). They serve different contexts and should not be mixed up.

Is my input stored anywhere?

No. Encoding and decoding use native browser JavaScript APIs. Nothing is uploaded, logged, or stored.

Is the tool free?

Yes. Handytool is completely free with no sign-up or usage limits.

Related tools

Keep working with Utility tools

Utility tools