react-international-phone
โ๏ธ International phone input component for React
๐ Show real-time usage chart on react-international-phone's README.md, just copy the code below.## Usage Trend
[](https://npm-compare.com/react-international-phone#timeRange=THREE_YEARS)
๐ Show GitHub stars trend chart on react-international-phone's README.md, just copy the code below.## GitHub Stars Trend
[](https://npm-compare.com/react-international-phone)
react-international-phone
react-international-phone
๐ค International phone input component for React

Live demo: Storybook

Features
- ๐ Easy to integrate - Just import and use, no need for the initial setup. Integrate with any UI library using a headless hook.
- ๐ Country guessing - Just start typing and the component will guess the country and format the phone. Country flags are rendered using Twemoji.
- โจ Lightweight - Low bundle size, no third-party dependencies.
- ๐ Easy to customize - Customize styles and component behavior using props.
- โจ Caret position handling - Typing in the middle of the input, selection and deletion feels naturally.
- โ๏ธ Validation - Easily validate entered phone numbers using provided functions.
Installation
$ npm i react-international-phone
Basic usage
import { useState } from 'react';
import { PhoneInput } from 'react-international-phone';
import 'react-international-phone/style.css';
const App = () => {
const [phone, setPhone] = useState('');
return (
<div>
<PhoneInput
defaultCountry="ua"
value={phone}
onChange={(phone) => setPhone(phone)}
/>
</div>
);
};
Documentation
Find the full API reference on official documentation.
Migration
You can encounter some breaking changes after update between major versions.
Checkout migration documents that contain a list of breaking changes and ways to migrate:
Update from v3 to v4
Update from v2 to v3
Update from v1 to v2