An open API service indexing awesome lists of open source software.

https://github.com/jackocnr/intl-tel-input

For entering, formatting, and validating international telephone numbers. Available in vanilla JavaScript, or as React, Vue, Angular, and Svelte components.
https://github.com/jackocnr/intl-tel-input

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

Last synced: 19 days ago
JSON representation

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

Awesome Lists containing this project

README

          

# International Telephone Input
[![CI](https://github.com/jackocnr/intl-tel-input/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/jackocnr/intl-tel-input/actions/workflows/ci.yml) version downloads [![NerdyData.com logo](https://badges.nerdydata.com/719de9d2-d0e7-4988-b02f-9f9d52687076)](https://badges.nerdydata.com/719de9d2-d0e7-4988-b02f-9f9d52687076/report)

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

[Explore docs ยป](https://intl-tel-input.com/docs/integrations)



intl-tel-input screenshot showing country dropdown open

## Sponsored by
Twilio

Use [Twilio's API to build phone verification, SMS 2FA, appointment reminders, marketing notifications and so much more](https://www.twilio.com/blog/international-telephone-input-twilio?utm_source=github&utm_medium=referral&utm_campaign=intl_tel_input). We can't wait to see what you build.

## 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/integrations), 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.

## Features

๐Ÿ” **Fast country picking**
* Search by country name or dial code
* Full keyboard navigation

โœจ **Smart defaults**
* Optionally 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 valid digits and enforce max length

๐ŸŒ **International & accessible**
* Translated into 40+ languages
* Support for RTL and alternative numerals
* Screen reader-friendly ARIA markup

๐ŸŽ›๏ธ **Developer-friendly**
* Override CSS variables (e.g. dark mode)
* Extensive initialisation options
* TypeScript definitions included

## Contributing
See the [contributing guide](https://github.com/jackocnr/intl-tel-input/blob/master/.github/CONTRIBUTING.md) 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
* Flag images from [flag-icons](https://github.com/lipis/flag-icons)
* Original country data from mledoze's [World countries in JSON, CSV and XML](https://github.com/mledoze/countries)
* Formatting/validation/example number code from [libphonenumber](https://github.com/googlei18n/libphonenumber)

User testing powered by [BrowserStack Open-Source Program](https://www.browserstack.com/open-source)

Browser testing via

## License

MIT