Website profiles · Technology insights · Alternatives

urldecode.org

Decode a string that has been url encoded

No paid content found
Visit website
Profile views 2 Outbound visits 2 Normal
urldecode.org Full homepage screenshot

At a glance

Category
Resources & Utilities
Language
English
Paid-content signal
No paid content foundObserved
Registered
2009
Hosting
Amazon.com, Inc.Inferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is urldecode.org?

urldecode.org is a single-purpose web tool for converting URL-encoded text back into readable form and for encoding text into URL-safe form. Its page presents two actions, "Encode" and "Decode," which matches the site's stated purpose: decoding a string that has been URL encoded.

What it is used for

  • Reading encoded URLs: A link containing %20 for spaces or %2F for slashes becomes legible after decoding, which helps when checking query parameters or tracking strings by hand.
  • Preparing text for a URL: Encoding turns characters that are unsafe or ambiguous in a URL, such as spaces, ampersands and non-ASCII letters, into percent-encoded sequences.
  • Quick spot checks: For a developer, marketer or support agent pasting a long redirect URL, a browser-based converter avoids writing a script for a one-off check.

Practical example

A campaign link arrives as https://example.com/search?q=red%20shoes&sort=price. Pasting the query portion into the decoder shows q=red shoes, making it clear what the search term actually is. Going the other way, encoding red shoes & boots produces a string where the space and ampersand no longer break the parameter structure.

Trade-offs to keep in mind

Consideration What it means here
Speed and simplicity No setup; paste and click. Good for occasional, small inputs.
Privacy Text is submitted to a third-party site, so avoid pasting tokens, credentials or customer data.
Scale Manual, one-string-at-a-time use; not a substitute for encoding in application code.
Correctness Encoding rules differ between full URL encoding and query-component encoding, so verify results against your platform's requirements.

Next step

Decide based on the task: for a single string you need to inspect, paste it into the decoder and compare the output with the original. For anything repeated, sensitive or part of a build, use your language's built-in encoding functions, such as encodeURIComponent in JavaScript or urllib.parse.quote in Python, so the conversion happens locally and consistently.

How do I decode a URL-encoded string using urldecode.org?

Paste the encoded string into urldecode.org's input field and choose Decode. The page presents two actions, Encode and Decode, so the output is the readable version of your string—for example, hello%20world becomes hello world, and %26 becomes &.

Practical example

If you are inspecting a query string such as search=coffee%20%26%20tea, decoding it shows search=coffee & tea. This helps when you need to read parameter values, check whether spaces and symbols were encoded correctly, or compare a link you received with the text it represents.

When this tool fits

  • Quick one-off checks: reading a copied URL parameter, form value or redirect target.
  • Debugging by hand: confirming whether %20, + or %2B appears where you expect.
  • Non-technical use: sharing a readable result with someone who does not work in code.

For repeated decoding inside an application, use your language's built-in URL-decoding function instead; a browser page is convenient for inspection, not for automation. Also note that decoding is not the same as interpreting a URL: it turns percent-encoded text back into characters but does not resolve relative paths or validate a link.

A useful next step is to decode only the parameter value, not the entire URL, so the structure (?, &, =) stays visible and easier to follow.

What is the difference between URL encoding and URL decoding?

URL encoding converts characters into a percent-encoded form that is safe to place in a URL; URL decoding reverses that, turning percent-encoded text back into the original characters. They are two directions of the same transformation.

What each one does

  • URL encoding replaces characters that are unsafe or reserved in a URL—spaces, &, ?, =, #, non-ASCII letters, and so on—with % followed by hexadecimal codes. A space commonly becomes %20 (or + in query-string form).
  • URL decoding reads those %XX sequences and restores the original characters, so %20 becomes a space again.

When you use which

Situation Direction Example need
Building a link with a search term or user input Encode Put a b&c safely into a query value
Reading a parameter your server received Decode Turn %26 back into & before using it
Debugging a messy URL Decode See what the parameter actually says
Constructing an API request by hand Encode Avoid breaking the URL structure

A practical rule: encode when you are producing a URL component, decode when you are consuming one. Decoding twice or encoding twice causes bugs—double-encoded text like %2520 appears when something was encoded more than once.

For a quick check, paste a string into a tool such as urldecode.org, which offers both encode and decode, and compare the output with the original. If the decoded result matches what you expected the user to have typed, your encoding step is working correctly.

When would I need to URL-decode a string instead of encoding it?

You URL-decode when you have a string that is already percent-encoded and you need the original readable value back. You encode when you are about to place a value into a URL and need to make reserved characters safe. The direction depends on which side of a URL you are on: sending data out means encoding, receiving or inspecting data means decoding.

Common cases where decoding is the right step

  • Reading a query string by hand. A URL like ?q=hello%20world&tag=c%2B%2B contains hello world and c++ once decoded. Decoding turns it into something you can read, log, or paste into a ticket.
  • Inspecting redirect and tracking links. Marketing and analytics URLs often carry encoded destination URLs or parameters. Decoding reveals where a link actually points and what values are being passed.
  • Debugging double encoding. If a value shows up as %2520 instead of a space, decoding once turns it into %20 and twice into a space. That pattern is a strong clue that something was encoded more than once.
  • Processing form or API input. Values submitted through forms or embedded in path segments arrive percent-encoded; your code decodes them before using them as plain text.
  • Cleaning data for display. Stored URLs, referrer strings and log entries become readable only after decoding.

When encoding is the correct move instead

Encode when you are building a URL: putting a search term into a query parameter, a filename into a path, or a callback URL into another parameter. Spaces, &, =, ?, #, + and non-ASCII characters must be escaped or they change the URL's structure. A dedicated tool such as urldecode.org handles both directions, which is handy when you want to check a string quickly in a browser rather than in code.

A quick decision rule

Situation Action
You are constructing a URL or parameter value Encode
You received a URL, parameter or log line and need to read it Decode
Output looks wrong after one decode Decode again and check for double encoding
You are unsure which state a string is in Look for % followed by two hex digits

One practical caution: decode only the component you mean to decode. Decoding an entire URL at once can turn an encoded %26 inside a parameter into a literal &, which then looks like a parameter separator and splits the value incorrectly. Decode query values individually, and keep the +-as-space convention in mind for form-encoded data, since it differs from strict percent-encoding.

Can urldecode.org handle plus signs and percent-encoded characters correctly?

Yes—urldecode.org is built for exactly that: it decodes URL-encoded strings, which means it turns percent-encoded characters (like %20 or %2F) back into readable text and handles the + sign as a space, the convention used in query strings.

What to expect

  • Percent-encoding: Sequences like %20, %2F or %C3%A9 are converted back to their original characters, including spaces and non-ASCII letters.
  • Plus signs: In URL query strings, + stands for a space; a decoder built for this purpose converts it accordingly. If you need a literal + preserved, encode it as %2B before decoding.
  • Round-tripping: The page also offers an Encode option, so you can verify a value decodes and re-encodes to the same form.

A practical check

Paste a test string such as name=Jane+Doe&city=S%C3%A3o+Paulo and confirm it returns name=Jane Doe&city=São Paulo. If the plus becomes a space and the accented characters render correctly, the decoder is behaving as expected for query-string data.

When to look elsewhere

For decoding in code rather than by hand, use your language's standard library (for example, urllib.parse.unquote_plus in Python or decodeURIComponent in JavaScript), which gives the same behavior with scriptable control. MDN Web Docs documents these functions and the encoding rules clearly.

Is urldecode.org free to use, and does it send my data to a server?

urldecode.org is free to use. The page shows a simple Encode/Decode interface with no account, pricing or payment prompts, so nothing indicates a paid tier or signup requirement.

On whether your data leaves your browser, the page itself does not say. A plain URL decoder can run entirely in the browser with JavaScript, which would keep input local; it can equally post the string to a server for processing. The visible page gives no confirmation either way, so treat "your input stays on your device" as unverified rather than assumed.

Practical guidance

  • For ordinary encoded strings — tracking parameters, search queries, redirect URLs — pasting them is low risk, since the content is already public or semi-public.
  • For anything sensitive — session tokens, API keys, passwords embedded in a URL, customer records, internal hostnames — decode locally instead. Browser developer tools work well: open the console and run decodeURIComponent("your%20string"), or use the Network panel to inspect parameters directly.
  • If you want a hosted tool anyway, test with a harmless string first and check the Network tab in developer tools to see whether a request is sent when you click Decode. That answers the question for your own session rather than relying on the site's silence.

Choosing between tools

Situation Better choice
Quick check of a public URL Any browser-based decoder, including this one
Sensitive or internal data Built-in decodeURIComponent in the console, or a local script
Repeated decoding in a workflow A snippet in your editor or a shell one-liner (python3 -c "import urllib.parse,sys;print(urllib.parse.unquote(sys.argv[1]))" "$1")
Need to see both encoded and decoded forms A tool that shows input and output side by side

For a second opinion on behaviour, URL Encode/Decode offers a comparable encode-and-decode page, and the MDN reference at MDN Web Docs documents decodeURIComponent if you would rather handle it yourself.

Related questions

More questions →
What Is URL Decode (urldecode) and How Do You Decode an Encoded URL?

URL decoding (often called urldecode) reverses percent-encoding: it turns sequences like %20, %2F, and %E2%82%AC back into the characters they represent (a space, /, and €). You need it whenever a URL or form value arrives in encoded form and you want to read, compare, or store the original text. The main conditions for getting it right are knowing which encoding was used (almost always UTF-8 today), whether + means a space in your context, and decoding exactly once.

What urldecode actually reverses

URLs can only contain a limited set of characters. Everything else is escaped as a percent sign followed by two hexadecimal digits representing a byte.

Encoded Decoded Note
%20 space Most common encoding of a space in a path or query
+ space Only in application/x-www-form-urlencoded data (query strings, form posts)
%2F / A slash that is data, not a path separator
%26 & An ampersand inside a value, not a parameter separator
%3D = An equals sign inside a value
%E2%82%AC € Multi-byte UTF-8 character (three bytes)

Two consequences follow from this table:

  • + is ambiguous. In a query string it usually means a space, but in a path segment it is a literal plus. Decoders differ, so check which convention your tool applies.
  • Multi-byte characters arrive as several %XX groups. %E2%82%AC is one character, not three. Decoding byte-by-byte without reassembling UTF-8 produces mojibake.

How to decode a string

With an online decoder

Sites such as urldecode.org offer a single Encode/Decode interface: paste the encoded string, run the decode action, and read the result. This is the fastest route for a one-off value.

  1. Copy the encoded text exactly, including any leading or trailing % sequences.
  2. Paste it into the decoder input.
  3. Run decode and compare the output against what you expect the original to be.
  4. If the result looks like garbled symbols, the source was probably not UTF-8 — see the pitfalls below.

In code

Most languages ship a decoder in the standard library. The input is the encoded string; the action is a single decode call; the expected result is the original text.

from urllib.parse import unquote, unquote_plus

unquote("caf%C3%A9")          # 'café'  — %XX only
unquote_plus("a+b")           # 'a b'   — treats + as space
decodeURIComponent("caf%C3%A9");   // 'café'
decodeURIComponent("a+b");         // 'a+b'  — + is NOT a space here

Note the difference: decodeURIComponent leaves + alone, while Python's unquote_plus converts it to a space. Pick the function that matches how the string was encoded.

Verify the result

A decode is correct when re-encoding the output reproduces the input (modulo case of hex digits and + vs %20). If round-tripping changes the string, you either decoded twice or used the wrong + rule.

Decoding a whole URL vs. a single parameter value

This distinction causes most real-world bugs.

  • Decoding a full URL turns %20 into spaces and %2F into slashes, which can destroy the structure: a path separator that was safely encoded becomes a real separator. Decode individual components, not the assembled URL, unless you specifically want the human-readable form.
  • Decoding a query parameter value is the normal case. Given ?q=url+decode%20guide, the value is url+decode%20guide; decoding it with the form rule yields url decode guide.

Rule of thumb: split the URL into its parts first, then decode each part with the rule that matches its origin.

Common pitfalls

Double-decoding

If a value was encoded once, decoding twice turns a literal %2520 (which means %20) into a space when it should stay as %20. Decode exactly once per layer of encoding, and only when you know a layer exists.

Treating + as a space everywhere

+ means space only in form-encoded data. In a path or a fragment it is a literal plus. Using unquote_plus on a path segment silently corrupts values.

Assuming UTF-8

Older systems may use ISO-8859-1 or a local codepage. %E9 is é in ISO-8859-1 but an invalid standalone byte in UTF-8. If the output is garbled, try decoding the bytes with the source's declared charset before converting to text.

Decoding before splitting

Decoding a query string before splitting on & and = lets an encoded %26 become a real separator and split one value into two. Split first, decode second.

Quick check: is this string actually encoded?

Look for % followed by two hex digits (%20, %2F, %C3%A9) or, in query strings, + where a space is expected. A string with no %XX pattern and no meaningful + is almost certainly already plain text — decoding it changes nothing, but decoding it twice can still cause damage if it contains a literal %. When in doubt, decode once and confirm the output reads as the text you expected.

Website Overview

Limited stack disclosure and few obvious backend markers suggest a more restrained public footprint. That reduces easy fingerprinting clues but is not proof of overall security. An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality.

Domain and Registration

Registered in 2009, this domain has about 17 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Gandi SAS, a widely used domain service provider. The domain uses the common .org extension, which is not an independent safety signal.

DNS and Email

The lowest TTL is 11 seconds, supporting rapid record changes at the cost of more frequent lookups. Nameservers are provided by gandi.net, indicating managed DNS hosting. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. DNSSEC signatures were not detected, so this additional DNS authenticity protection is not confirmed.

TLS and Certificates

The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: Permissions-Policy. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The via response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers. The Server header contains the custom value Heroku.

Technology Stack Analysis

No obvious technology stack is exposed. This may reflect restrained information disclosure, although the underlying technologies remain unknown.

Search and Social Sharing

No Open Graph metadata was detected, so social previews may depend on platform inference. The title has 13 characters, within a common display range. A meta description is present, with 41 characters. The observed directives allow indexing and link following. No Generator meta tag is publicly exposed.

Hosting and Email

DNSgandi.net
HostingAmazon.com, Inc.
EmailUnknown
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) United States flagUnited States Inferred 15.197.129.158

Registration details

RDAP / WHOIS

RegistrarGandi SAS
Registered2009-05-12
Expires2027-05-12
Domain statusclient transfer prohibited
Nameserversns-103-c.gandi.net、ns-156-a.gandi.net、ns-206-b.gandi.net
DNSSECunsigned

DNS records

DNS

TypeNameValueTTLPriority
Aurldecode.org15.197.129.15811—
Aurldecode.org75.2.43.16111—
Aurldecode.org76.223.11.4911—
Aurldecode.org99.83.217.111—
NSurldecode.orgns-103-c.gandi.net10800—
NSurldecode.orgns-156-a.gandi.net10800—
NSurldecode.orgns-206-b.gandi.net10800—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjecturldecode.org
IssuerLet's Encrypt
Valid until2027-01-03T00:10 · Remaining when checked: 66 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
serverHeroku
strict-transport-securitymax-age=63072000; includeSubDomains
content-security-policydefault-src 'none'; script-src 'self'; connect-src 'self' https://plausible.io; style-src 'self' fonts.googleapis.com; font-src 'self' fonts.gstatic.com; frame-ancestors 'none'; base-uri 'none'; form-action 'self'
x-frame-optionsDENY
x-content-type-optionsnosniff
referrer-policyno-referrer

Identified technologies

Technology stack: Unknown

Pages, Search and Sharing

Meta descriptionDecode a string that has been url encoded
Canonical URLhttps://urldecode.org
LanguageEnglish (default)
Twitter CardNot detected

Unknown

No robots.txt found

No sitemaps found

User reviews (0)

  • No reviews yet.