--- title: URL slug: Web/API/URL tags: - API - Experimental - NeedsTranslation - TopicStub - URL API translation_of: Web/API/URL ---
{{ApiRef("URL API")}} {{SeeCompatTable}}

The URL interface represent an object providing static methods used for creating object URLs.

When using a user agent where no constructor has been implemented yet, it is possible to access such an object using the {{domxref("Window.URL")}} properties (prefixed with Webkit-based browser as Window.webkitURL).

Properties

Implements properties defined in {{domxref("URLUtils")}}.

{{domxref("URLUtils.href")}}
Is a {{domxref("DOMString")}} containing the whole URL.
{{domxref("URLUtils.protocol")}}
Is a {{domxref("DOMString")}} containing the protocol scheme of the URL, including the final ':'.
{{domxref("URLUtils.host")}}
Is a {{domxref("DOMString")}} containing the host, that is the hostname, a ':', and the port of the URL.
{{domxref("URLUtils.hostname")}}
Is a {{domxref("DOMString")}} containing the domain of the URL.
{{domxref("URLUtils.port")}}
Is a {{domxref("DOMString")}} containing the port number of the URL.
{{domxref("URLUtils.pathname")}}
Is a {{domxref("DOMString")}} containing an initial '/' followed by the path of the URL.
{{domxref("URLUtils.search")}}
Is a {{domxref("DOMString")}} containing a '?' followed by the parameters of the URL.
{{domxref("URLUtils.hash")}}
Is a {{domxref("DOMString")}} containing a '#' followed by the fragment identifier of the URL.
{{domxref("URLUtils.username")}}
Is a {{domxref("DOMString")}} containing the username specified before the domain name.
{{domxref("URLUtils.password")}}
Is a {{domxref("DOMString")}} containing the password specified before the domain name.
{{domxref("URLUtils.origin")}} {{readonlyInline}}
Returns a {{domxref("DOMString")}} containing the origin of the URL, that is its scheme, its domain and its port.
{{domxref("URLUtils.searchParams")}}
Returns a {{domxref("URLSearchParams")}} object allowing to access the GET query arguments contained in the URL.

Constructor

{{domxref("URL.URL", "URL()")}}
Creates and return a URL object composed from the given parameters.

Methods

The URL interface implements methods defined in {{domxref("URLUtils")}}.

{{domxref("URLUtils.toString()")}}
Returns a {{domxref("DOMString")}} containing the whole URL. It is a synonym for {{domxref("URLUtils.href")}}, though it can't be used to modify the value.

Static methods

{{ domxref("URL.createObjectURL()") }}
Returns a {{domxref("DOMString")}} containing a unique blob URL, that is a URL with blob: as its scheme, followed by an opaque string uniquely identifying the object in the browser.
{{ domxref("URL.revokeObjectURL()") }}
Revokes an object URL previously created using {{ domxref("URL.createObjectURL()") }}.

Specifications

Specification Status Comment
{{SpecName('File API', '#creating-revoking', 'URL')}} {{Spec2('File API')}} Added the static methods URL.createObjectURL() and URL.revokeObjectURL().
{{SpecName('URL', '#api', 'Node')}} {{Spec2('URL')}} Initial definition (implements URLUtils).

Browser compatibility

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 8.0 as webkitURL
35
{{CompatGeckoDesktop("2.0")}} (non-standard name) [1]
{{CompatGeckoDesktop("19.0")}}
10.0 15.0 as webkitURL
{{CompatVersionUnknown}}
6.0 as webkitURL
7.0
URLUtils properties 32 {{CompatVersionUnknown}} {{CompatUnknown}} 19 {{CompatVersionUnknown}}
username, password, and origin 32 {{CompatGeckoDesktop("26.0")}} {{CompatUnknown}} 19 {{CompatVersionUnknown}}
protocol, host, hostname, port, href, pathname, search, hash 32 {{CompatGeckoDesktop("22.0")}} {{CompatUnknown}} 19 {{CompatVersionUnknown}}
searchParams {{CompatNo}} {{CompatGeckoDesktop("29.0")}} {{CompatUnknown}} 19 {{CompatVersionUnknown}}
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatVersionUnknown}}as webkitURL {{CompatGeckoMobile("14.0")}}(non-standard name) [1]
{{CompatGeckoMobile("19.0")}}
{{CompatVersionUnknown}} 15.0 as webkitURL

6.0 as webkitURL

 

URLUtils {{CompatUnknown}} {{CompatNo}} {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}
username, password, href, and origin {{CompatUnknown}} {{CompatGeckoDesktop("26.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}

[1] From Gecko 2 (Firefox 4) to Gecko 18 included, Gecko supported this interface with the non-standard nsIDOMMozURLProperty internal type. As the only to access such an object was through {{domxref("window.URL")}}, in practice, this didn't make any difference.

Chrome Code - Scope Availability

To use from chrome code, JSM and Bootstrap scope, you have to import it like this:

Cu.importGlobalProperties(['URL']);

URL is available in Worker scopes.

See also