# tldts-experimental

> Library to work against complex domain names, subdomains and URIs.

Latest version **7.4.12** (published 2026-09-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install tldts-experimental
pnpm add tldts-experimental
yarn add tldts-experimental
bun add tldts-experimental
```

## 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 | 7.4.12 |
| Published | 2026-09-07 |
| First published | 2019-07-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 1.9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 765 |
| Author | Rémi Berson |
| Maintainers | remusao |
| Keywords | tld, sld, domain, subdomain, subdomain, hostname, browser, uri, url, domain name, public suffix, url parsing, typescript |

## Links

- npm: https://www.npmjs.com/package/tldts-experimental
- Repository: https://github.com/remusao/tldts
- Homepage: https://github.com/remusao/tldts#readme
- Issues: https://github.com/remusao/tldts/issues
- npm.io page: https://npm.io/package/tldts-experimental

## Dependencies (1)

- [tldts-core](https://npm.io/package/tldts-core.md) ^7.4.12

## Alternatives

- [base64url](https://npm.io/package/base64url.md) — 6.1M weekly downloads
- [get-installed-path](https://npm.io/package/get-installed-path.md) — 502.9K weekly downloads
- [@uppy/url](https://npm.io/package/@uppy/url.md) — 185.8K weekly downloads
- [@d3fc/d3fc-shape](https://npm.io/package/@d3fc/d3fc-shape.md) — 16.2K weekly downloads
- [localizer](https://npm.io/package/localizer.md) — 226 weekly downloads

## Recent versions

- 7.4.12 (latest) — 2026-09-07
- 5.6.65-canary.808.f42b3ecaee33e5bde4c2ec1c731092a25f9c6a2f.0 (canary) — 2020-11-03
- 7.4.11 — 2026-08-24
- 7.4.10 — 2026-07-30
- 7.4.9 — 2026-07-16
- 7.4.8 — 2026-07-09
- 7.4.7 — 2026-07-07
- 7.4.6 — 2026-07-02
- 7.4.5 — 2026-06-28
- 7.4.4 — 2026-06-23
- 7.4.3 — 2026-06-15
- 7.4.2 — 2026-05-30
- 7.4.1 — 2026-05-30
- 7.4.0 — 2026-05-25
- 7.3.1 — 2026-05-25
- … 789 more at https://npm.io/package/tldts-experimental/versions

## README

# `tldts-experimental`

> faster, experimental, unstable version of `tldts`. It exposes the exact same
> API and is subjected to the same tests as the main library, but offers a
> different trade-off in terms of space, speed and accuracy.

See README.md from `tldts` for more details about the API.

## Differences with tldts

The default `tldts` package is what you should use most of the time and what is
imported out of the box. It makes use of an optimized DAWG (direct acyclic word
graph) data-structure and delivers very good performances. If that is not
enough, you can try the `tldts-experimental` package which implements a
_probabilistic data-structure_. It is:

- Must smaller (in terms of bundle size and memory footprint)
- Loads instantly (no data loading or parsing required)
- Much faster (lookups are up to 1.5-2x faster)

The drawback is that there might be some _unlikely_ false positive (think bloom filters).

For more details, check the documentation from the following files:

- [building](https://github.com/remusao/tldts/blob/master/bin/builders/hashes.ts)
- [lookups](./src/packed-hashes.ts)

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