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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 49 29.0 (29.0) No support 36 ?
USVString or sequence for init object 61 53 (53) No support 48 ?
Record for init object 61 54 (54) No support 48 ?
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 49 49 29.0 (29.0) No support 36 ?
USVString  of sequence for init object 61 61 53.0 (53) No support 48 ?
Record for init object 61 61 54.0 (54) No support 48 ?

Document Tags and Contributors

 Contributors to this page: jpmedley, Mantish, NoInkling, twhb, chrisdavidmills, msiadak, teoli, rolfedh
 Last updated by: jpmedley,