This package has been deprecated

    Author message:

    now available as @ungap/url-search-params

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/url-search-params package

    1.1.0 • Public • Published


    build status CDNJS version donate

    This is a polyfill for the URLSearchParams API.

    It is possible to simply include build/url-search-params.js or grab it via npm.

    npm install url-search-params

    The function is exported directly.

    var URLSearchParams = require('url-search-params');

    MIT Style License

    iOS 10 + other platforms bug

    In case you'd like to replace the broken global native constructor, you can check some well known issue before including this polyfill on your project/page.

    try { if (new URLSearchParams('q=%2B').get('q') !== '+') throw {}; }
    catch (error) {
      window.URLSearchParams = void 0;
      document.write('<script src="/js/url-search-params.js"><'+'/script>');

    About HTMLAnchorElement.prototype.searchParams

    This property is already implemented in Firefox and polyfilled here only for browsers that exposes getters and setters through the HTMLAnchorElement.prototype.

    In order to know if such property is supported, you must do the check as such:

    if ('searchParams' in HTMLAnchorElement.prototype) {
      // polyfill for <a> links supported

    If you do this check instead:

    if (HTMLAnchorElement.prototype.searchParams) {
      // throws a TypeError

    this polyfill will reflect native behavior, throwing a type error due access to a property in a non instance of HTMLAnchorElement.

    Nothing new to learn here, just a reminder.


    npm i url-search-params

    DownloadsWeekly Downloads






    Unpacked Size

    48 kB

    Total Files


    Last publish


    • webreflection