Gathering detailed insights and metrics for url
Gathering detailed insights and metrics for url
Gathering detailed insights and metrics for url
Gathering detailed insights and metrics for url
normalize-url
Normalize a URL
whatwg-url
An implementation of the WHATWG URL Standard's URL API and parsing machinery
url-parse
Small footprint URL parser that works seamlessly across Node.js and browser environments
resolve-url
Like Node.js’ `path.resolve`/`url.resolve` for the browser.
npm install url
Typescript
Module System
Min. Node Version
Node Version
NPM Version
98.6
Supply Chain
99.2
Quality
80.4
Maintenance
100
Vulnerability
100
License
JavaScript (100%)
Total Downloads
5,920,963,228
Last Day
1,055,897
Last Week
19,956,316
Last Month
86,283,688
Last Year
999,230,516
MIT License
381 Stars
76 Commits
96 Forks
6 Watchers
1 Branches
13 Contributors
Updated on Jun 23, 2025
Minified
Minified + Gzipped
Latest Version
0.11.4
Package Id
url@0.11.4
Unpacked Size
76.48 kB
Size
17.89 kB
File Count
9
NPM Version
10.8.2
Node Version
22.5.1
Published on
Jul 26, 2024
Cumulative downloads
Total Downloads
Last Day
-5.7%
1,055,897
Compared to previous day
Last Week
-8%
19,956,316
Compared to previous week
Last Month
1.7%
86,283,688
Compared to previous month
Last Year
-0.3%
999,230,516
Compared to previous year
This module has utilities for URL resolution and parsing meant to have feature parity with node.js core url module.
1var url = require('url');
Parsed URL objects have some or all of the following fields, depending on whether or not they exist in the URL string. Any parts that are not in the URL string will not be in the parsed object. Examples are shown for the URL
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
href
: The full URL that was originally parsed. Both the protocol and host are lowercased.
Example: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
protocol
: The request protocol, lowercased.
Example: 'http:'
host
: The full lowercased host portion of the URL, including port
information.
Example: 'host.com:8080'
auth
: The authentication information portion of a URL.
Example: 'user:pass'
hostname
: Just the lowercased hostname portion of the host.
Example: 'host.com'
port
: The port number portion of the host.
Example: '8080'
pathname
: The path section of the URL, that comes after the host and
before the query, including the initial slash if present.
Example: '/p/a/t/h'
search
: The 'query string' portion of the URL, including the leading
question mark.
Example: '?query=string'
path
: Concatenation of pathname
and search
.
Example: '/p/a/t/h?query=string'
query
: Either the 'params' portion of the query string, or a
querystring-parsed object.
Example: 'query=string'
or {'query':'string'}
hash
: The 'fragment' portion of the URL including the pound-sign.
Example: '#hash'
The following methods are provided by the URL module:
Take a URL string, and return an object.
Pass true
as the second argument to also parse
the query string using the querystring
module.
Defaults to false
.
Pass true
as the third argument to treat //foo/bar
as
{ host: 'foo', pathname: '/bar' }
rather than
{ pathname: '//foo/bar' }
. Defaults to false
.
Take a parsed URL object, and return a formatted URL string.
href
will be ignored.protocol
is treated the same with or without the trailing :
(colon).
http
, https
, ftp
, gopher
, file
will be
postfixed with ://
(colon-slash-slash).mailto
, xmpp
, aim
, sftp
, foo
, etc will
be postfixed with :
(colon)auth
will be used if present.hostname
will only be used if host
is absent.port
will only be used if host
is absent.host
will be used in place of hostname
and port
pathname
is treated the same with or without the leading /
(slash)search
will be used in place of query
query
(object; see querystring
) will only be used if search
is absent.search
is treated the same with or without the leading ?
(question mark)hash
is treated the same with or without the leading #
(pound sign, anchor)Take a base URL, and a href URL, and resolve them as a browser would for an anchor tag. Examples:
url.resolve('/one/two/three', 'four') // '/one/two/four'
url.resolve('http://example.com/', '/one') // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
no dangerous workflow patterns detected
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
Reason
Found 4/27 approved changesets -- score normalized to 1
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2025-06-23
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More