URL parser to pull info from a url


002.1.04 years ago6 years agoMinified + gzip package size for @djforth/urlparser in KB



Build Status

JS URL Parsing utility for breaking apart a url into data, it has a number of methods that allow you to extract:

  • fullpath
  • protocol (e.g. http or https)
  • hostname (e.g. example.com)
  • port (e.g. 3000)
  • path (e.g. path/name/here)
  • Split Path (e.g. path split into array - ['path','name', 'here'])
  • Query string (e.g. "?query=test")
  • Query Object (e.g. {query:"test"})
  • Hash (e.g. #hash)


Install via NPM

npm install urlparser

or via yarn

yarn add urlparser


To parse the current URL

var urlparse = new URLParser();

To parse another URL

var urlparse = new URLParser("http://someotherurl.com:3000/test?test=test#hash");


From the URL "https://www.test.com:3000/mytest/test/123?test=foo&test2=bar#hash1/hash2"

To get full path:

var fullpath = urlparse.getFullPath();

console.log(fullpath) // returns 'https://www.test.com:3000/mytest/test/123?test=foo&test2=bar#hash1'

To get protocol

var protocol = urlparse.getProtocol();

console.log(protocol) // returns 'https:'

To get hostname

var hostname = urlparse.getHostname();

console.log(hostname) // returns 'www.test.com'

To get Port

var port = urlparse.getPort();

console.log(port) // returns '3000'

To get Pathname

var pathname = urlparse.getPathname();

console.log(pathname) // returns 'mytest/test/123'

To get Pathname as an array

var pathname = urlparse.getSplitPath();

console.log(pathname) // returns ['mytest','test','123']

To get query string

var query = urlparse.getQueryString();

console.log(query) // returns "?test=foo&test2=bar"

To get query string as an object

var query = urlparse.getQueryObj();

console.log(query) // returns {test:'foo', test2:"bar"}

To get hash

var hash = urlparse.getHash();

console.log(hash) // returns "hash1"

Bug reports

If you discover any bugs, feel free to create an issue on GitHub. Please add as much information as possible to help us fixing the possible bug. We also encourage you to help even more by forking and sending us a pull request.



If you'd like to contribute, URLParser is written using babel in ES6.

Please make sure any additional code should be covered in tests (Jasmine using karma).

If you need to run the test please use:

gulp app:watch

or to rebuild the JS run:

gulp build


Adrian Stainforth (https://github.com/djforth)


URLParser is an open source project falling under the MIT License. By using, distributing, or contributing to this project, you accept and agree that all code within the URLParser project are licensed under MIT license.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.