PHP urldecode() Function

Quick summary: The PHP urldecode() function decodes URL-encoded strings.

PHP urldecode() Syntax

urldecode(string $string): string
PHP

PHP urldecode() Basic examples

var_dump(urldecode('hello+world'));
PHP
Output:
string(11) "hello world"

Decodes plus signs into spaces.

PHP urldecode() Real-world usage

$query = 'page%3D1%26sort%3Dasc';
var_dump(urldecode($query));
PHP
Output:
string(15) "page=1&sort=asc"

Decodes query parameters.

PHP urldecode() Edge cases

var_dump(urldecode('%ZZ'));
PHP
Output:
string(3) "%ZZ"

Invalid encoding is left unchanged.

PHP urldecode() Common mistakes

Decoding rawurlencode output

urldecode expects + for spaces.

Incorrect
urldecode(rawurlencode('a b'));
Correct
rawurldecode(rawurlencode('a b'));

Match encode/decode pairs.

PHP urldecode() Frequently Asked Questions

What does urldecode() do in PHP?

urldecode() decodes URL-encoded strings back to their original form.

Does urldecode() convert + to space?

Yes, + is converted to a space.

Is urldecode() reversible?

Yes, with urlencode().

Use case of urldecode()?

Decoding query parameters.

Difference from rawurldecode()?

urldecode converts + to space, rawurldecode does not.

Does it modify original string?

No.

Handles UTF-8?

Yes.

Common mistake?

Using wrong decode function.

Can decode full URL?

Yes, but be careful with reserved characters.

Performance?

Fast.

Used in forms?

Yes.

Alternative?

rawurldecode().

PHP urldecode() Related PHP Functions