The best international-ready React phone number input libraries of 2025

ProductBy Juliana Amorim

Collecting phone numbers is a critical part of user onboarding, registration, and lead generation. But building a seamless, international-ready phone input from scratch is time-consuming and error-prone.

Below is a curated list of the most popular React phone number input libraries, ordered from the most to the least used, based on GitHub stars and npm weekly downloads in May 2025.

React phone number input libraries

Here’s an overview of the most used React phone number input libraries:

LibraryRepositoryPackageGitHub starsnpm downloads
react-phone-number-input ✨GitLabnpm135804k
react-phone-input-2GitHubnpm981376k
react-international-phoneGitHubnpm379180k
react-intl-tel-inputGitHubnpm28538k
react-headless-phone-inputGitHubnpm41220
react-phone-input-beautifyGitHubnpm424
Integrate it with a dynamic component CMS

Croct helps product teams scale experimentation and personalization without over-relying on developers.

react-phone-number-input

RepositoryPackageGitHub starsnpm downloads
πŸ”— LinkπŸ”— Link135804k

react-phone-number-input is a popular library focused on delivering robust, international phone number validation and formatting using the powerful libphonenumber-js engine. Its minimalist UI makes integrating into any design system easy, while its simple API ensures developers can implement accurate phone input with minimal configuration. The component supports both country selection and plain input modes, making it versatile for a range of use cases where correctness and ease of use are paramount.

react-phone-input-2

RepositoryPackageGitHub starsContributorsnpm downloads
πŸ”— LinkπŸ”— Link98170376k

react-phone-input-2 stands out for its highly customizable and visually engaging interface, featuring a country selector with flag icons and auto-formatting based on the selected country. It offers extensive styling options, supporting themes like Material UI, Bootstrap, and more, enabling seamless integration into branded applications. With a rich set of props for behavior and appearance, this library is ideal for projects prioritizing a polished, interactive user experience alongside internationalization.

react-international-phone

WebsiteRepositoryPackageGitHub starsContributorsnpm downloads
πŸ”— LinkπŸ”— LinkπŸ”— Link37913180k

react-international-phone is a lightweight and straightforward solution for handling international phone number inputs. While it lacks advanced features like a country selector, its simplicity and ease of integration make it a good fit for smaller projects or scenarios where a basic, no-frills phone input is sufficient. The component supports international formats, ensuring users can enter phone numbers from various countries without unnecessary complexity.

react-intl-tel-input

RepositoryPackageGitHub starsContributorsnpm downloads
πŸ”— LinkπŸ”— Link2854738k

react-intl-tel-input delivers a familiar and intuitive user experience with its dropdown country selector and automatic input formatting. It balances feature richness and ease of use, offering moderate customization options and reliable validation. This library is a solid choice for projects that want a classic, user-friendly phone input component with international support and straightforward integration.

react-headless-phone-input

RepositoryPackageGitHub starsContributorsnpm downloads
πŸ”— LinkπŸ”— Link412220

react-headless-phone-input offers a fully headless approach, giving developers complete control over the UI while providing robust validation and formatting under the hood. It outputs phone numbers in the standard e164 format and is designed for maximum usability and flexibility. This library best suits teams that want to build a custom phone input experience from scratch, leveraging strong validation logic without being tied to any specific UI implementation.

react-phone-input-beautify

RepositoryPackageGitHub starsContributorsnpm downloads
πŸ”— LinkπŸ”— Link4424

react-phone-input-beautify is designed for developers who need both advanced validation and deep form integration, offering strong accessibility features and compatibility with popular form libraries. Its modern, accessible UI is built with ARIA support, ensuring inclusivity for all users. The library provides comprehensive customization options, making it suitable for teams seeking to build robust, accessible, and visually appealing phone input fields for complex forms.

How to choose?

Choosing the right library depends on factors such as your design needs, customization flexibility, performance considerations, and integration with other tools. React developers have several robust libraries to choose from, each with its strengths in internationalization, validation, user experience, and customization.

The react-phone-number-input library leverages the industry-standard libphonenumber-js library to parse and format phone numbers for any country, ensuring users always enter valid, properly formatted numbers.

With Croct's template, this functionality is pre-integrated with a CMS, so you can manage, personalize, and AB test your forms without writing extra code.

Let's grow together!

Learn practical tactics our customers use to grow by 20% or more.