decodeURIComponent()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The decodeURIComponent() function decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent() or by a similar routine.

Try it

function containsEncodedComponents(x) { // ie ?,=,&,/ etc return decodeURI(x) !== decodeURIComponent(x); } console.log(containsEncodedComponents("%3Fx%3Dtest")); // ?x=test // Expected output: true console.log(containsEncodedComponents("%D1%88%D0%B5%D0%BB%D0%BB%D1%8B")); // шеллы // Expected output: false 

Syntax

js
decodeURIComponent(encodedURI) 

Parameters

encodedURI

An encoded component of a Uniform Resource Identifier.

Return value

A new string representing the decoded version of the given encoded Uniform Resource Identifier (URI) component.

Exceptions

URIError

Thrown if encodedURI contains a % not followed by two hexadecimal digits, or if the escape sequence does not encode a valid UTF-8 character.

Description

decodeURIComponent() is a function property of the global object.

decodeURIComponent() uses the same decoding algorithm as described in decodeURI(). It decodes all escape sequences, including those that are not created by encodeURIComponent, like -.!~*'().

Examples

Decoding a Cyrillic URL component

js
decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"); // "JavaScript_шеллы" 

Catching errors

js
try { const a = decodeURIComponent("%E0%A4%A"); } catch (e) { console.error(e); } // URIError: malformed URI sequence 

Decoding query parameters from a URL

decodeURIComponent() cannot be used directly to parse query parameters from a URL. It needs a bit of preparation.

js
function decodeQueryParam(p) { return decodeURIComponent(p.replace(/\+/g, " ")); } decodeQueryParam("search+query%20%28correct%29"); // 'search query (correct)' 

Specifications

Specification
ECMAScript® 2026 Language Specification
# sec-decodeuricomponent-encodeduricomponent

Browser compatibility

See also