Skip to main content
59 tools

URL Decoder - Decode Percent-Encoded URLs Online Free

Decode percent-encoded URLs back to readable text. Reverse URL encoding instantly. Free, no signup.

Try the Tool
100% Free No Sign-up Instant Results Privacy First
Web Tool
About This Tool

What Is URL Decoding?

URL decoding is the reverse process of URL encoding. It converts percent-encoded sequences like %20, %26, and %3D back to their original characters — spaces, ampersands, equals signs, and everything else that was encoded for safe transmission over the internet. When a URL or query string contains percent-encoded characters, decoding restores the original human-readable text.

Every percent-encoded character follows the same pattern: a percent sign (%) followed by two hexadecimal digits that represent the character's ASCII code. For example, the space character has an ASCII value of 32 (hexadecimal 20), so it is encoded as %20. The ampersand has an ASCII value of 38 (hexadecimal 26), so it becomes %26. URL decoding simply reverses this mapping, converting each %XX sequence back to the character it represents.

PHP provides two functions for decoding: urldecode(), which handles application/x-www-form-urlencoded data (where spaces may appear as + signs), and rawurldecode(), which handles URLs encoded per RFC 3986 (where spaces are %20). Both functions correctly decode the vast majority of percent-encoded strings you will encounter.

Why Is URL Decoding Important?

URLs on the web are encoded to ensure they can be transmitted reliably across different systems, protocols, and networks. But encoded URLs are not human-readable. Decoding is essential whenever you need to understand, display, or process the actual content of an encoded URL.

  • Readability — Encoded URLs are difficult to read. A URL like ?q=hello%20world&lang=en is much clearer once decoded to ?q=hello world&lang=en.
  • Debugging — When something goes wrong with a URL, decoding reveals the actual parameter values so you can identify issues like double-encoding, truncation, or incorrect character replacement.
  • Data extraction — APIs, webhooks, and server logs often contain encoded URLs. Decoding is necessary to extract meaningful data from query parameters, redirect URLs, and callback endpoints.
  • Security inspection — Malicious actors sometimes use URL encoding to disguise harmful payloads. Decoding suspicious URLs before clicking or processing them is a basic security practice.

When Should You Decode a URL?

There are several common scenarios where URL decoding is necessary or helpful:

  • Reading API responses — REST APIs frequently return encoded URLs in their responses. Decoding them makes endpoint paths, query parameters, and resource identifiers readable for debugging and documentation.
  • Debugging URL parameters — When a web application misbehaves, decoding the URL reveals exactly what data is being passed between pages. This helps identify encoding bugs, missing parameters, or malformed values.
  • Extracting query parameters — When parsing a URL to read specific parameter values, those values will be percent-encoded. Decoding is required to get the actual user input, search terms, or filter values.
  • Displaying URLs to users — Raw encoded URLs are confusing to end users. Decoding them for display in dashboards, reports, or documentation makes the content immediately understandable.
  • Checking for double-encoding — If you see sequences like %2520 in a URL, it has been double-encoded (the % itself was encoded to %25). Decoding once converts %2520 to %20, and decoding a second time produces a space.
  • Verifying redirect URLs — Before following a redirect, decoding the target URL lets you verify where it actually leads, which is important for security and debugging.

Common URL-Encoded Characters

Here are the most frequently encoded characters you will encounter when decoding URLs:

  • %20 — Space character. The most common encoded character in URLs.
  • %26 — Ampersand (&). Used as a query string separator, so it must be encoded inside parameter values.
  • %3D — Equals sign (=). Separates parameter names from values, so it must be encoded inside values.
  • %2F — Forward slash (/). Used as a path separator.
  • %3F — Question mark (?). Marks the start of the query string.
  • %23 — Hash symbol (#). Marks the fragment identifier.
  • %3A — Colon (:). Used in scheme prefixes like http: and https:.
  • %40 — At sign (@). Used in userinfo sections of URLs.
  • %2B — Plus sign (+). In form-encoded data, a + represents a space.
  • %25 — Percent sign (%). Encoded when the literal percent character appears in data.

URL Decoding vs URL Encoding

Encoding and decoding are two sides of the same coin:

  • URL encoding converts unsafe or special characters into percent-encoded format for safe transmission. A space becomes %20, an ampersand becomes %26.
  • URL decoding reverses this process, converting %20 back to a space, %26 back to an ampersand, and so on.

You can switch between encoding and decoding modes using this tool. If you need to encode a URL, visit our URL Encode tool instead.

Double-Encoding: A Common Problem

One of the most frequent issues developers encounter with URLs is double-encoding. This happens when an already-encoded URL is encoded a second time:

  • Original text: hello world
  • First encoding: hello%20world
  • Double-encoded: hello%2520world (the % was encoded to %25)

If you see %25 sequences in a URL, the string has been double-encoded. Decoding it once converts %2520 to %20. Decoding it a second time converts %20 to a space. The best solution is to prevent double-encoding by only encoding once in your application code.

URL Decoding vs Base64 Decoding

These two decoding methods serve different purposes and should not be confused:

  • URL decoding reverses percent-encoding (%20 to space). It is specific to URLs and query strings.
  • Base64 decoding reverses base64 encoding, which converts binary data to ASCII text using a 64-character alphabet. It is used for embedding images in HTML, encoding JWT tokens, and transferring binary data over text-based protocols.

If you need to decode base64-encoded strings, use our Base64 Encode/Decode tool instead.

Use Cases in Web Development

  • API debugging — When troubleshooting API calls, decoding the request and response URLs reveals the actual parameters being sent and received.
  • Log analysis — Server logs contain encoded URLs. Decoding them makes it possible to analyze traffic patterns, search queries, and user behavior.
  • Form processing — HTML forms with method="GET" encode data into the URL automatically. Server-side code decodes these values to process form submissions.
  • OAuth and authentication — Authorization codes, access tokens, and callback URLs in OAuth flows are encoded. Decoding is necessary to inspect and debug authentication sequences.
  • Content management systems — CMS platforms often store URLs in encoded format. Decoding is required before displaying them in the admin interface or frontend.
  • Web scraping — Scraped URLs may be encoded. Decoding them reveals the actual page paths, search queries, and parameter values for analysis.

How to Use This Tool

  1. Paste the encoded URL — Enter the percent-encoded URL, query string, or text into the input area.
  2. Click Decode — The tool decodes all percent-encoded sequences back to their original characters using PHP's urldecode().
  3. Copy or Download — Use the Copy button to copy the decoded result to your clipboard, or click Download as TXT to save it as a file.

Need to encode instead? The tool also supports URL Encode mode to convert special characters into percent-encoded format.

  • URL Encode — Convert special characters to percent-encoded format for safe URL transmission.
  • Base64 Encode/Decode — Encode and decode base64 strings for data transfer and authentication tokens.

Privacy and Security

URL decoding is performed entirely on our servers using PHP's native urldecode() function. We do not store your input or decoded output. The tool processes your data in memory and discards it immediately after returning the result. No cookies, tracking scripts, or analytics collect your decoded URLs.

Different encoding standards use slightly different rules. PHP's urldecode() handles application/x-www-form-urlencoded data (where spaces are + signs), while rawurldecode() handles RFC 3986 encoded URLs (where spaces are %20). Always match the decode function to the encoding method used.

AI Overview

URL decoding is the process of reversing percent-encoding, converting sequences like %20 back to spaces, %26 back to ampersands, and %3D back to equals signs. This restores the original human-readable form of a URL or query string that was previously encoded for safe transmission over the internet.

Quick Answers

Q:

What is URL decoding?

A:

URL decoding reverses percent-encoding, converting sequences like %20 back to spaces, %26 back to ampersands, and so on. It restores the original readable text from an encoded URL.

Q:

Is this URL decoder free?

A:

Yes. The decoder is 100% free with no registration, no limits, and no hidden fees.

Q:

Can I also encode URLs with this tool?

A:

Yes. The tool supports both decoding and encoding. Switch to URL Encode mode to convert special characters into percent-encoded format.

How to Use the URL Decoder - Decode Percent-Encoded URLs Online Free

  1. Paste or type any percent-encoded URL, query string, or text containing %XX sequences into the input textarea. The tool accepts any valid percent-encoded string.
  2. Click the Decode button to convert all percent-encoded sequences back to their original characters using PHP's urldecode() function. Spaces encoded as + or %20 are both handled correctly.
  3. The decoded text appears instantly in the output area. Use the Copy button to copy it to your clipboard, or Download as TXT to save the result as a plain text file.

Benefits

  • 100% Free, No Registration
  • Instant Decoding
  • Server-Side Processing
  • Bidirectional Tool
  • Works on Any Device
  • Copy and Download

Common Mistakes

  • Decoding a string that is already decoded, which produces garbage output if the original text happened to contain %XX patterns
  • Assuming all percent-encoded URLs are safe to decode — some URLs from untrusted sources may contain malicious payloads after decoding
  • Confusing URL decoding with HTML entity decoding, which uses < and > style entities instead of %XX sequences
  • Expecting urldecode() to handle percent-encoded UTF-8 correctly in all PHP versions — use mb_convert_encoding for full unicode support
  • Decoding only part of a URL when the entire string is encoded, leaving residual %XX sequences in the output

Professional Tips

  • Always verify decoded output before using it in code, especially when the encoded URL comes from an untrusted source
  • Use urldecode() for application/x-www-form-urlencoded data and rawurldecode() for URLs encoded per RFC 3986
  • When debugging encoding issues, decode the URL first to see the readable form, inspect it, then re-encode if needed
  • Check for double-encoding: if a decoded URL still contains %20 or %26 sequences, it may have been encoded twice and needs a second decode
  • Use this tool alongside URL Encode to test round-trip encoding and decoding of your URLs before deploying them

Common Use Cases

Web Developers

Debug URL parameters, inspect encoded query strings, and verify that URLs are correctly decoded before processing.

API Debugging

Decode URLs returned by API responses to read endpoint paths, query parameters, and authentication tokens in plain text.

PHP Developers

Use urldecode() and rawurldecode() to decode $_GET parameters, form submissions, and webhook payloads correctly.

Database Administrators

Decode stored URLs before displaying them to users, ensuring human-readable output in admin panels and reports.

SEO Professionals

Decode encoded URLs in sitemaps, canonical tags, and crawl reports to verify correct URL structure and parameter handling.

Security Analysts

Decode suspicious URLs to inspect their actual content and detect encoded malicious payloads or injection attempts.

Related Concepts

Percent-Encoding

The official name for URL encoding. Each unsafe character is replaced with a percent sign followed by two hexadecimal digits representing its ASCII code.

urldecode()

A PHP built-in function that decodes a percent-encoded string, converting %XX sequences back to their original characters.

rawurldecode()

A PHP built-in function that decodes URLs encoded per RFC 3986, handling percent-encoded UTF-8 multibyte sequences correctly.

Double-Encoding

A common bug where an already-encoded URL is encoded again, turning %20 into %2520. The fix is to decode twice or prevent the second encoding.

application/x-www-form-urlencoded

The MIME type used by HTML forms for data submission. Spaces are replaced with + signs and other characters are percent-encoded.

RFC 3986

The Internet standard that defines the syntax for Uniform Resource Identifiers (URIs), including which characters are reserved, unreserved, or require encoding.

Frequently Asked Questions

URL decoding reverses percent-encoding by converting %XX hex sequences back to their original characters. For example, %20 becomes a space, %26 becomes an ampersand, and %3D becomes an equals sign. This restores the original readable text from an encoded URL.

Decode when you need to read an encoded URL, debug query parameters, display URLs in human-readable form, extract parameter values from API responses, or inspect the actual content of a percent-encoded string.

urldecode() decodes application/x-www-form-urlencoded strings where spaces are represented as + signs. rawurldecode() decodes strings encoded per RFC 3986 where spaces are represented as %20. Use rawurldecode() for URL path segments and urldecode() for form data.

Double-encoding occurs when an already-encoded URL is encoded a second time. For example, %20 becomes %2520. The result is garbled output. Fix this by decoding twice, or better yet, prevent the second encoding from happening in your code.

Yes, if the garbled text is caused by percent-encoding. Pasting the encoded string into a URL decoder will restore the original readable text. However, garbled text caused by character set mismatches (e.g., UTF-8 vs Latin-1) requires different solutions.

You should be cautious decoding URLs from untrusted sources. After decoding, the resulting string may contain malicious content, script injection attempts, or harmful redirect URLs. Always inspect decoded output before using it in code or displaying it to users.

URL decoding handles all percent-encoded characters including spaces (%20 or +), ampersands (%26), equals signs (%3D), slashes (%2F), question marks (%3F), hash symbols (%23), and any non-ASCII characters encoded as UTF-8 byte sequences.

URL decoding reverses percent-encoding used in URLs (%20 to space). Base64 decoding reverses base64 encoding, which converts binary data to ASCII text using A-Z, a-z, 0-9, +, and / characters. They serve completely different purposes and are not interchangeable.

References

Author

The ToolsConverters editorial team reviews and maintains all tool descriptions, how-to guides, and FAQ content to ensure accuracy and usefulness for everyday users.

Reviewed By

ToolsConverters Technical Reviewer

Technical review ensures that URL decoding standards, PHP function behavior, and web development best practices described on this page are accurate and current.

Last Updated


Accuracy Statement

This page was last reviewed for accuracy in August 2026. URL decoding behavior is based on PHP urldecode() and the application/x-www-form-urlencoded specification. Features may be updated as the tool evolves.

Editorial Process

Tool descriptions and guides are written by the editorial team, reviewed for technical accuracy, and updated periodically to reflect changes in URL encoding standards and web development practices.

Educational Purpose

This page is designed to help users understand what URL decoding is, when and why it is needed, and how to use it correctly - whether they are developers, API integrators, or everyday users.

Most Used Tools in Web Tools

Explore our complete collection of web tools.

More in This Hub

Cookie
We care about your data and would love to use cookies to improve your experience.