Telephone input component. Rewrite intl-tel-input in React.js.

Usage no npm install needed!

<script type="module">
  import reactIntlPhoneInput from '';



PRs Welcome Build Status npm version Coverage Status npm


Rewrite International Telephone Input in React.js.

Collaborators Wanted!

Due to the long commuting time, I have no much time to maintain this project often. 😣

So If anybody else is willing to take on the work of bug fixes, integrating pull requests, etc. Please let me know. 🙌

I hope we can maintain the project together, and make this project better! 💪

Demo & Examples

Live demo:

To build the examples locally, run:

npm install
npm start


yarn start

Then open localhost:3000 in a browser.


The easiest way to use react-intl-tel-input is to install it from NPM and include it in your own React build process (using Browserify, Webpack, etc).

You can also use the standalone build by including dist/main.js in your page. If you use this, make sure you have already included React, and it is available as a global variable.

npm install react-intl-tel-input --save


yarn add react-intl-tel-input


import IntlTelInput from 'react-intl-tel-input';
import 'file?name=libphonenumber.js!./node_modules/react-intl-tel-input/dist/libphonenumber.js';
import './node_modules/react-intl-tel-input/dist/main.css';

<IntlTelInput css={['intl-tel-input', 'form-control']}
  utilsScript={'libphonenumber.js'} />

Heads up: CSS Sourcemaps

As noted in the readme for style-loader, if your webpack configuration for style-loader includes the option to enable sourcemaps, the flag images used by this component will not load.

Note about source maps support and assets referenced with url: when style loader is used with ?sourceMap option, the CSS modules will be generated as Blobs, so relative paths don't work (they would be relative to chrome:blob or chrome:devtools). In order for assets to maintain correct paths setting output.publicPath property of webpack configuration must be set, so that absolute paths are generated.

Because of this, we recommend you disable sourcemaps for the CSS include in this module.


Please see the Demo Page

Development (src and the build process)

NOTE: The source code for the component is in src. A UMD bundle is also built to dist, which can be included without the need for any build system.

To build, watch and serve the examples (which will also watch the component source), run npm start.

If you want to build to the bundle file to dist/ folder, please run:

npm run build


yarn run build


To contribute to react-intl-tel-input, clone this repo locally and commit your code on a separate branch. Please write tests for your code, and run the linter before opening a pull-request:

npm test
npm run lint


yarn test
yarn run lint

Inspired by

International Telephone Input - @jackocnr



Copyright (c) 2015-2018 patw.