MCPcopy Index your code
hub / github.com/jackocnr/intl-tel-input

github.com/jackocnr/intl-tel-input @v29.1.2

repository ↗ · DeepWiki ↗ · release v29.1.2 ↗ · + Follow
666 symbols 2,069 edges 302 files 3 documented · 0%
README

International Telephone Input

CI version downloads NerdyData.com logo

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

Explore docs »

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. We can't wait to see what you build.

Resources

Check out the website, where you can find a full set of docs, a live playground where you can try out all of the options, as well as plenty of examples 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 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

User testing powered by BrowserStack Open-Source Program

License

MIT

Extension points exported contracts — how you extend this code

HTMLInputElement (Interface)
(no doc)
packages/core/src/js/intlTelInput.ts
Props (Interface)
(no doc)
packages/vue/src/props.ts
Window (Interface)
(no doc)
site/src/types/globals.d.ts
IntlTelInputInterface (Interface)
(no doc)
packages/core/src/js/intlTelInput.ts
AllOptions (Interface)
(no doc)
packages/core/src/js/types/public-api.ts
SearchTokens (Interface)
(no doc)
packages/core/src/js/core/countrySearch.ts
ProcessedDialCodes (Interface)
(no doc)
packages/core/src/js/data/country-data.ts

Core symbols most depended-on inside this repo

initIntlTelInput
called by 147
tests/integration/helpers/helpers.js
teardown
called by 124
tests/integration/helpers/helpers.js
checkFlagSelected
called by 77
tests/integration/helpers/helpers.js
getInstance
called by 40
packages/angular/src/IntlTelInput.ts
getSelectedCountry
called by 39
packages/core/src/js/intlTelInput.ts
isValidNumber
called by 32
packages/core/src/js/intlTelInput.ts
isCountrySelectorOpen
called by 29
tests/integration/helpers/helpers.js
getNumber
called by 28
packages/core/src/js/intlTelInput.ts

Shape

Function 460
Method 169
Class 30
Interface 7

Languages

TypeScript100%

Modules by API surface

packages/core/src/js/intlTelInput.ts70 symbols
packages/core/src/js/core/ui.ts54 symbols
site/src/playground/js/modules/forms.ts48 symbols
site/src/playground/js/playground.ts42 symbols
tests/integration/helpers/helpers.js25 symbols
scripts/check-lpn-metadata.js24 symbols
site/scripts/template/utils.js23 symbols
packages/angular/src/IntlTelInput.ts22 symbols
site/src/playground/js/modules/initCode.ts16 symbols
tests/unit/core/ui.test.js14 symbols
packages/core/src/js/core/options.ts13 symbols
site/src/playground/js/modules/stateUtils.ts12 symbols

Dependencies from manifests, versioned

@angular/common21.2.7 · 1×
@angular/compiler21.2.7 · 1×
@angular/compiler-cli21.2.7 · 1×
@angular/core21.2.7 · 1×
@angular/forms21.2.7 · 1×
@angular/platform-browser21.2.7 · 1×
@eslint/js9.39.4 · 1×
@intl-tel-input/react* · 1×
@intl-tel-input/vue* · 1×
@playwright/test1.60.0 · 1×

For agents

$ claude mcp add intl-tel-input \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact