URL

URL Decode

Paste encoded URL text, optionally convert plus signs to spaces, and decode it with helpful handling for malformed input.

Runs locally in your browser. Your input is not uploaded.

How this tool works

URL decoding reverses percent-encoded sequences back to readable text.

The plus-to-space option is useful for form-style query strings.

Examples

  • Decode a query parameter copied from browser devtools.
  • Turn form-encoded text back into readable words.
  • Decode a query value twice with plus-to-space disabled and enabled to show the form-encoding difference.

Common use cases

Query debugging
Redirect inspection
API request review

Decoding safely

URL decoding reverses percent escapes back to readable text. Malformed percent sequences can throw errors, so this page reports malformed input instead of silently producing misleading output.

The plus-to-space option is useful for form-style query values, but a literal plus can be meaningful in other contexts. Decode with the source format in mind.

Invalid or unsafe assumption

Invalid/failure example

%E0%A4%A is an incomplete percent-encoded UTF-8 sequence and must fail.

Mistakes to avoid

  • Decoding a value twice.
  • Always translating plus to space outside form/query contexts.
  • Using decoded text without context-specific validation.

Limits of this workflow

Decoding does not establish that a URL is trustworthy.

Malformed percent or UTF-8 sequences are rejected instead of partially returned.

Local-processing and privacy boundary

Decoding is local, but URLs often contain identifiers that should be removed before sharing.

Practical workflow

  • Choose the plus interpretation appropriate to the source.
  • Decode once.
  • Handle malformed sequences as errors.
  • Validate the decoded value for its destination context.

Related guides

Official references

FAQ

Why convert plus signs to spaces?

HTML form encoding often represents spaces as plus signs in query values.

What causes malformed URI errors?

Incomplete percent escapes or invalid encoded byte sequences can cause decodeURIComponent to throw.

When should plus become a space?

Only for formats such as form-style query encoding that explicitly use plus for spaces.

Related tools