# intl-tel-input

> A JavaScript library for entering, formatting, and validating international telephone numbers

Latest version **29.5.10** (published 2026-10-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install intl-tel-input
pnpm add intl-tel-input
yarn add intl-tel-input
bun add intl-tel-input
```

## Health

**Score 58/100 (C)** — status: active.

Positive: has types package; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 29.5.10 |
| Published | 2026-10-31 |
| First published | 2014-08-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/intl-tel-input) |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8257 |
| Author | Jack O'Connor |
| Maintainers | jackocnr |
| Keywords | international, country, country-picker, dial-code, telephone, phone, phone-number, tel, mobile, input, flag, dropdown, javascript, vanilla-js, vanilla, css, validation, libphonenumber, formatting, typescript |

## Links

- npm: https://www.npmjs.com/package/intl-tel-input
- Repository: https://github.com/jackocnr/intl-tel-input
- Homepage: https://intl-tel-input.com
- Issues: https://github.com/jackocnr/intl-tel-input/issues
- npm.io page: https://npm.io/package/intl-tel-input

## Alternatives

- [style-dictionary](https://npm.io/package/style-dictionary.md) — 2.0M weekly downloads
- [postcss-merge-idents](https://npm.io/package/postcss-merge-idents.md) — 1.7M weekly downloads
- [@fontsource/noto-sans](https://npm.io/package/@fontsource/noto-sans.md) — 93.0K weekly downloads
- [uglifycss](https://npm.io/package/uglifycss.md) — 71.6K weekly downloads
- [mat4-interpolate](https://npm.io/package/mat4-interpolate.md) — 23.3K weekly downloads

## Recent versions

- 29.5.10 (latest) — 2026-10-31
- 26.0.0-beta.1 (beta) — 2026-01-14
- 29.5.9 — 2026-10-30
- 29.5.8 — 2026-10-29
- 29.5.7 — 2026-10-25
- 29.5.6 — 2026-10-20
- 29.5.5 — 2026-10-14
- 29.5.4 — 2026-10-11
- 29.5.3 — 2026-09-24
- 29.5.2 — 2026-09-22
- 29.5.1 — 2026-09-21
- 29.5.0 — 2026-09-21
- 29.4.1 — 2026-09-21
- 29.4.0 — 2026-09-19
- 29.3.0 — 2026-09-19
- … 545 more at https://npm.io/package/intl-tel-input/versions

## README

# intl-tel-input - Vanilla JavaScript library

For entering, formatting, and validating international telephone numbers.

[Explore docs »](https://intl-tel-input.com/docs/vanilla-javascript)

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/jackocnr/intl-tel-input/master/screenshots/iti-github-dark.png">
  <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/jackocnr/intl-tel-input/master/screenshots/iti-github-light.png">
  <img width="271" height="279" alt="intl-tel-input screenshot showing country dropdown open" src="https://raw.githubusercontent.com/jackocnr/intl-tel-input/master/screenshots/iti-github-light.png">
</picture>

## Resources

Check out the [website](https://intl-tel-input.com), where you can find [a full set of docs](https://intl-tel-input.com/docs/vanilla-javascript), a [live playground](https://intl-tel-input.com/playground/) where you can try out all of the options, as well as plenty of [examples](https://intl-tel-input.com/examples/vanilla-javascript/validation) of different setups.

Browser support: all modern browsers — see the [FAQ](https://intl-tel-input.com/docs/faq#which-browsers-are-supported) for minimum versions.

## Issues and contributing

Please report issues and open pull requests on the [main repository](https://github.com/jackocnr/intl-tel-input).

## License

MIT

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