This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The URLSearchParams() constructor creates and returns a new URLSearchParams object. Leading '?' characters are ignored.


var URLSearchParams = new URLSearchParams(init);


init Optional
USVString instance, a URLSearchParams instance, a sequence of USVStrings, or a record containing USVStrings. Note that using a URLSearchParams instance is deprecated; soon browsers will just use a USVString for the init.

Return value

An instance of URLSearchParams.


The following example shows how to create a URLSearchParams object from a URL string.

// Pass in a string literal
var url = new URL('https://example.com?foo=1&bar=2');
// Retrieve from window.location
var url2 = new URL(window.location);

// Retrieve params via url.search, passed into ctor
var params = new URLSearchParams(url.search);
var params2 = new URLSearchParams(url2.search);

// Pass in a sequence
var params3 = new URLSearchParams([["foo", 1],["bar", 2]]);

// Pass in a record
var params4 = new URLSearchParams({"foo" : 1 , "bar" : 2});

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support49 ?29 No36 ?
USVString or sequence for init object61 ?53 No48 ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support4949 ?2936 ? ?
USVString or sequence for init object6161 ?5348 ? ?

Document Tags and Contributors

Last updated by: fscholz,