JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 437317
  • Score
    100M100P100Q177982F
  • License MIT

Check if a URL is relative

Package Exports

  • is-relative-url

Readme

is-relative-url

Check if a URL is relative

Install

npm install is-relative-url

Usage

import isRelativeUrl from 'is-relative-url';

isRelativeUrl('foo/bar');
//=> true

isRelativeUrl('https://sindresorhus.com/foo/bar');
//=> false

isRelativeUrl('//sindresorhus.com');
//=> true

API

isRelativeUrl(url, options?)

url

Type: string

The URL to check.

options

Type: object

allowProtocolRelative

Type: boolean
Default: true

Allow protocol-relative URLs (e.g., //example.com) to be considered relative.

Setting this to false will treat protocol-relative URLs as absolute, which can be useful for security purposes when you want to ensure a URL won't redirect to an external domain.

[!NOTE] Protocol-relative URLs are technically relative according to RFC 3986, as they require the current page's protocol to resolve into absolute URLs. However, they can still navigate to external domains, which may be a security concern in certain contexts (e.g., preventing open redirects).

See is-absolute-url for the inverse.