jackocnr/intl-tel-input

For entering, formatting, and validating international telephone numbers. Available in vanilla JavaScript, or as React, Vue, Angular, and Svelte components.

TypeScript

8,262

4,503 commits

updated Oct 11, 2026

See the code

README

International Telephone Input

CI version downloads NerdyData.com logo

For entering, formatting, and validating international telephone numbers. Available in vanilla JavaScript, or as React, Vue, Angular, and Svelte components.

Explore docs »

intl-tel-input screenshot showing country dropdown open Twilio

Use Twilio's API to build phone verification, SMS 2FA, appointment reminders, marketing notifications and so much more. We can't wait to see what you build.

Resources

Check out the website, where you can find a full set of docs, a live playground where you can try out all of the options, as well as plenty of examples of different setups.

Features

🔍 Fast country picking

  • Search by country name or dial code
  • Full keyboard navigation

✨ Smart defaults

  • Auto-detect the user's country
  • Example placeholders per country

📞 Formatting & output

  • Formats the number as the user types
  • Extract standard E.164 numbers to store

🛡️ Validation

  • Validate numbers with specific error types
  • Only allow users to type valid digits and enforce max length

🌍 International & accessible

  • Translated into 50+ languages
  • Support for RTL and alternative numerals
  • Screen reader-friendly ARIA markup

🎛️ Developer-friendly

  • Theme it with CSS variables (e.g. dark mode) or utility classes like Tailwind
  • TypeScript definitions included

Browser support

All modern browsers: Chrome/Edge 93+, Safari 15.4+, Firefox 92+ (roughly, anything released since early 2022). Need to support something older? See the FAQ.

Contributing

See the contributing guide for instructions on setting up the project and making changes, and also on how to update the flag images, or how to add a new translation.

Attributions

User testing powered by BrowserStack Open-Source Program

License

MIT

angular
formatting
input
international-telephone
javascript-plugin
libphonenumber
phone-number
react
reactjs
svelte
typescript
validation
vuejs

jackocnr/intl-tel-input

For entering, formatting, and validating international telephone numbers. Available in vanilla JavaScript, or as React, Vue, Angular, and Svelte components.

TypeScript

8,262

4,503 commits

updated Oct 11, 2026

See the code

README

International Telephone Input

CI version downloads NerdyData.com logo

For entering, formatting, and validating international telephone numbers. Available in vanilla JavaScript, or as React, Vue, Angular, and Svelte components.

Explore docs »

intl-tel-input screenshot showing country dropdown open Twilio

Use Twilio's API to build phone verification, SMS 2FA, appointment reminders, marketing notifications and so much more. We can't wait to see what you build.

Resources

Check out the website, where you can find a full set of docs, a live playground where you can try out all of the options, as well as plenty of examples of different setups.

Features

🔍 Fast country picking

  • Search by country name or dial code
  • Full keyboard navigation

✨ Smart defaults

  • Auto-detect the user's country
  • Example placeholders per country

📞 Formatting & output

  • Formats the number as the user types
  • Extract standard E.164 numbers to store

🛡️ Validation

  • Validate numbers with specific error types
  • Only allow users to type valid digits and enforce max length

🌍 International & accessible

  • Translated into 50+ languages
  • Support for RTL and alternative numerals
  • Screen reader-friendly ARIA markup

🎛️ Developer-friendly

  • Theme it with CSS variables (e.g. dark mode) or utility classes like Tailwind
  • TypeScript definitions included

Browser support

All modern browsers: Chrome/Edge 93+, Safari 15.4+, Firefox 92+ (roughly, anything released since early 2022). Need to support something older? See the FAQ.

Contributing

See the contributing guide for instructions on setting up the project and making changes, and also on how to update the flag images, or how to add a new translation.

Attributions

User testing powered by BrowserStack Open-Source Program

License

MIT

angular
formatting
input
international-telephone
javascript-plugin
libphonenumber
phone-number
react
reactjs
svelte
typescript
validation
vuejs

Project health

Overall

5.6/10

Maintained

10/10

Code review

1/10
OpenSSF Scorecard

Latest release

29.5.3 · Sep 24, 2026

Releases this year

103

Significant stargazers

(top 24 of 29)

Alyssa Ross

1,012 followers · starred Mar 2015

Kristijan Husak

358 followers · starred Aug 2024

Wong Hoi Sing Edison

107 followers · starred May 2024

Dennis Ameling

151 followers · starred Jul 2021