URL: search property
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.
Note: This feature is available in Web Workers.
The search
property of the URL
interface
is a search string, also called a query string, that is a
string containing a '?'
followed by the parameters of the
URL.
Modern browsers provide the URL.searchParams
property to make it easy to
parse out the parameters from the query string.
Value
A string.
Examples
Basic usage
const url = new URL(
"https://developer.mozilla.org/en-US/docs/Web/API/URL/search?q=123",
);
console.log(url.search); // Logs "?q=123"
Interaction with searchParams
The URL.searchParams
property exposes the search
string as a URLSearchParams
object. When updating this URLSearchParams
, the URL's search
is updated with its serialization. However, URL.search
encodes a subset of characters that URLSearchParams
does, and encodes spaces as %20
instead of +
. This may cause some surprising interactions—if you update searchParams
, even with the same values, the URL may be serialized differently.
const url = new URL("https://example.com/?a=b ~");
console.log(url.href); // "https://example.com/?a=b%20~"
console.log(url.searchParams.toString()); // "a=b+%7E"
// This should be a no-op, but it changes the URL's query to the
// serialization of its searchParams
url.searchParams.sort();
console.log(url.href); // "https://example.com/?a=b+%7E"
const url2 = new URL("https://example.com?search=1234¶m=my%20param");
console.log(url2.search); // "?search=1234¶m=my%20param"
url2.searchParams.delete("search");
console.log(url2.search); // "?param=my+param"
Specifications
Specification |
---|
URL # dom-url-search |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
search |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- See implementation notes.
See also
- The
URL
interface it belongs to.