# jackocnr/intl-tel-input

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

Repository: https://github.com/jackocnr/intl-tel-input
Canonical: https://ross.abutalabs.com/products/intl-tel-input
Homepage: https://intl-tel-input.com
Language: TypeScript
License: MIT
License Family: permissive
Topics: international-telephone, phone-number, validation, formatting, libphonenumber, input, javascript-plugin, reactjs, vuejs, typescript, angular, react, svelte
Last push: 2026-08-14T09:59:52+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 97, release rhythm 86, longevity 100
- inputs: {"age_days": 4842, "days_push": 19, "days_rel": 19, "gap_med": 1, "n_releases_24m": 140}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 8247, forks 1993 (observed 2026-08-28T04:10:19.837302+00:00)

## What it is
A JavaScript library for entering, formatting, and validating international telephone numbers, available as a vanilla JS library and as native React, Vue, Angular, and Svelte components. It provides a searchable country dropdown, as-you-type formatting, E.164 output, and validation powered by libphonenumber.

## Use cases
- add an international phone number input to a signup form
- format phone numbers as the user types
- validate international telephone numbers in the browser
- let users pick their country dial code with a searchable dropdown
- store phone numbers in E.164 format
- auto-detect the user's country for a phone field
- build an accessible phone input with RTL and localization support

## When to choose
- you need a polished, accessible international phone input in a web app
- you want framework-native components for React, Vue, Angular, or Svelte
- you need libphonenumber-based validation and E.164 normalization client-side
- you need localization, RTL, and dark-mode theming out of the box

## When to avoid
- you only need server-side phone parsing or validation without a UI
- your app targets non-web platforms like native mobile
- you need SMS verification or telephony features rather than input handling
- you cannot tolerate a ~260KB utils chunk in your bundle

## Facets
- artifact type: library
- maturity: stable
- function: ui-components, form-handling, internationalization
- domain: web-development, frontend
- platform: browser
- tags: phone-number-input, international-telephone, libphonenumber, country-selector, e164, react-component, vue-component, angular-component, svelte-component, input-masking, localization, javascript, typescript, nodejs

## Member repositories
- jackocnr/intl-tel-input (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:19.837302+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:29:28.355504+00:00, confidence not recorded.
  - readme: https://github.com/jackocnr/intl-tel-input (fetched 2026-08-28T04:10:19.837302+00:00, sha 4f13e6e56480)
  - homepage: https://intl-tel-input.com (fetched 2026-08-29T08:28:22.549467+00:00, sha f1d0d5b69e77)
  - site_page: https://intl-tel-input.com/docs/integrations (fetched 2026-08-29T08:28:22.558739+00:00, sha acc505d4032d)
  - site_page: https://intl-tel-input.com/docs/vanilla-javascript (fetched 2026-08-29T08:28:22.560850+00:00, sha 0b367bb4b30b)
  - site_page: https://intl-tel-input.com/docs/react-component (fetched 2026-08-29T08:28:22.562903+00:00, sha c24536005698)
  - site_page: https://intl-tel-input.com/docs/vue-component (fetched 2026-08-29T08:28:22.564750+00:00, sha 7252a60248dc)
  - site_page: https://intl-tel-input.com/docs/angular-component (fetched 2026-08-29T08:28:22.567054+00:00, sha 46d1117d6c9c)
  - site_page: https://intl-tel-input.com/docs/svelte-component (fetched 2026-08-29T08:28:22.569034+00:00, sha 25b4d7ab71ff)
  - site_page: https://intl-tel-input.com/docs/best-practices (fetched 2026-08-29T08:28:22.570762+00:00, sha 6811fcaa0c09)
  - site_page: https://intl-tel-input.com/docs/options (fetched 2026-08-29T08:28:22.572235+00:00, sha 689d376fa9f2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
