# is-valid-domain-extension

> 🌐 Check if the URL has a legit and a valid domain extension! Supports all extensions even with punny codes!

Latest version **1.3.4** (published 2026-09-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install is-valid-domain-extension
pnpm add is-valid-domain-extension
yarn add is-valid-domain-extension
bun add is-valid-domain-extension
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 1.3.4 |
| Published | 2026-09-22 |
| First published | 2020-09-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 12.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 0 |
| Author | tuty |
| Maintainers | tutyamxx |
| Keywords | check-valid-domain-extension, node, npm, valid-extension, url-extension, valid-extension, valid-url-extension, valid-domain-extension, is-valid-domain-extension |

## Links

- npm: https://www.npmjs.com/package/is-valid-domain-extension
- Repository: https://github.com/tutyamxx/is-valid-domain-extension
- Issues: https://github.com/tutyamxx/is-valid-domain-extension/issues
- npm.io page: https://npm.io/package/is-valid-domain-extension

## Dependencies (3)

- [axios](https://npm.io/package/axios.md) ^1.13.6
- [punycode](https://npm.io/package/punycode.md) ^2.3.1
- [extract-domain](https://npm.io/package/extract-domain.md) ^5.0.2

## Recent versions

- 1.3.4 (latest) — 2026-09-22
- 1.3.3 — 2026-04-15
- 1.3.2 — 2026-04-06
- 1.3.1 — 2026-03-29
- 1.3.0 — 2026-03-15
- 1.2.9 — 2026-03-12
- 1.2.8 — 2026-03-04
- 1.2.7 — 2026-02-16
- 1.2.6 — 2026-02-11
- 1.2.5 — 2026-01-21
- 1.2.4 — 2026-01-21
- 1.2.3 — 2026-01-21
- 1.2.2 — 2026-01-21
- 1.2.1 — 2026-01-13
- 1.2.0 — 2026-01-13
- … 11 more at https://npm.io/package/is-valid-domain-extension/versions

## README

# is-valid-domain-extension

<p align="center">🍩</p>

<p align="center"><a href="https://nodei.co/npm/is-valid-domain-extension/"><img src="https://nodei.co/npm/is-valid-domain-extension.png"></a></p>
<p align="center">
  <img src="https://img.shields.io/badge/License-MIT-yellow.svg">
</p>

 * 🌐 NPM package that allows you to check if the URL has a legit and a valid domain extension!
 * Supports all of the domain extensions available over the world!
 * Supports all domain extensions even with punny codes such as: `.சிங்கப்பூர்`, `.онлайн`, `.كاثوليك`, `.新加坡`, `.ভারত`, `.భారత్` and so on (yes, they are legit domain extensions)
 * Package automatically checks for the latest list of domain extensions from [Internet Assigned Numbers Authority](https://www.iana.org/)
 * See examples below

# Install [NPM](https://www.npmjs.com/package/is-valid-domain-extension)

 `$ npm i is-valid-domain-extension`

# Usage

- Returns a Boolean indicating whether `string` is a legit and a valid domain extension
- It will return `false` if the `string` is empty or if it desn't start with `http://`, `https://` or `www.`

# Examples

## CommonJS
``` javascript
const isValidDomainExtension = require('is-valid-domain-extension');

(async () => {
    // --| Returns: true
    // --| Returns true as valid and legit the following examples
    if (await isValidDomainExtension('www.exampleurl.香港')) {
        console.log('This a legit and a valid domain extension! 🍩');
    }

    if (await isValidDomainExtension('http://exampleurl.みんな')); {
        console.log('This a legit and a valid domain extension! 🍩');
    }

    // --| Returns: false
    // --| The following examples return false as not they are not valid url's or domain extensions
    if (!await isValidDomainExtension('https://exampleurl.comdasdsadasdsadasdsa')) {
        console.log('This is not a valid domain extension! 😔');
    }

    if (!await isValidDomainExtension('http://exampleurl.comxxxxxx')) {
        console.log('This is not a valid domain extension! 😔');
    }
})();
```

## ESM
```javascript
import isValidDomainExtension from 'is-valid-domain-extension';

(async () => {
    // --| Returns: true
    // --| Returns true as valid and legit the following examples
    if (await isValidDomainExtension('www.exampleurl.香港')) {
        console.log('This is a legit and valid domain extension! 🍩');
    }

    if (await isValidDomainExtension('http://exampleurl.みんな')); {
        console.log('This is a legit and a valid domain extension! 🍩');
    }

    // --| Returns: false
    // --| The following examples return false as not they are not valid url's or domain extensions
    if (!await isValidDomainExtension('http://exampleurl.comxxxxxx')) {
        console.log('This is not a valid domain extension! 😔');
    }

    if (!await isValidDomainExtension('http://exampleurl.comxxxxxx')) {
        console.log('This is not a valid domain extension! 😔');
    }
})();
```
## TypeScript

```javascript
import isValidDomainExtension = require('is-valid-domain-extension');

(async () => {
    // --| Valid domain examples
    const validDomains: string[] = [
        'www.exampleurl.香港',
        'http://exampleurl.みんな',
        'http://exampleurl.العليان',
        'www.exampleurl.wolterskluwer'
    ];

    for (const url of validDomains) {
        const isValid: boolean = await isValidDomainExtension(url);

        if (isValid) {
            console.log(`✅ ${url} is a legit and valid domain extension! 🍩`);
        }
    }

    // --| Invalid domain examples
    const invalidDomains: string[] = [
        'https://exampleurl.comdasdsadasdsadasdsa',
        'http://exampleurl.comxxxxxx',
        'http://exampleurl'
    ];

    for (const url of invalidDomains) {
        const isValid: boolean = await isValidDomainExtension(url);

        if (!isValid) {
            console.log(`❌ ${url} is NOT a valid domain extension! 😔`);
        }
    }
})();
```
<p align="center">🍩</p>

---
_Source: https://npm.io/package/is-valid-domain-extension · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
