awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jackocnr avatar

jackocnr/intl-tel-input

0
View on GitHub↗
8,221 stars·1,991 forks·TypeScript·MIT·9 viewsintl-tel-input.com↗

Intl Tel Input

intl-tel-input is an international telephone input widget that provides a country-aware phone number entry experience with automatic formatting, validation, and E.164 normalization. It combines a searchable country picker with a format-as-you-type engine and a validation rule engine that checks numbers against country-specific patterns, returning machine-readable error codes when a number is invalid.

The project ships as both a zero-dependency vanilla JavaScript library and as framework-specific components for React, Vue, Angular, and Svelte, all sharing the same core logic through a framework-agnostic adapter. It includes country-detection heuristics that combine IP geolocation and browser locale to preselect the user's country, and packs flag images, dial codes, and validation patterns for all countries into a single lightweight metadata bundle.

The widget supports country restriction to limit the dropdown to a custom list, digit input restriction to prevent invalid characters, and number type restriction for filtering valid number types. It provides E.164 number extraction for clean API-ready output, and offers full visual customization through CSS custom properties for colors, borders, and spacing. The interface is localized into 54 languages with right-to-left script adaptation.

Features

  • International Phone Number Libraries - Provides a complete international phone number input with country selection, formatting, and validation.
  • Format-As-You-Type Engines - Applies country-specific spacing and punctuation rules to digits as the user types, using a state machine.
  • Phone Number Validation - Validates phone numbers against country-specific patterns and returns machine-readable error codes.
  • Validation Rule Engines - Checks phone numbers against country-specific length and digit-pattern rules, returning boolean or error codes.
  • Framework Agnostic Interfaces - Exposes the same core logic through vanilla JS and framework-specific wrappers for React, Vue, Angular, and Svelte.
  • Searchable Country Pickers - Provides a searchable country picker with flags and dial codes for quick country selection.
  • Country Selection Dropdowns - Lets the user search or keyboard-navigate a list of countries to select the one whose phone numbering plan applies.
  • Telephone Input Fields - Provides a form control for selecting a country and entering a phone number with automatic formatting and validation.
  • Phone Number Formatting - Applies local formatting rules to phone numbers as the user types in E.164, international, or national format.
  • E.164 Standardization - Converts user-entered phone numbers into the standard E.164 format for storage or API transmission.
  • Country-Aware Inputs - Detects the user's country and applies the correct dial code and formatting rules automatically.
  • Vanilla JS Library Integrations - Provides a zero-dependency vanilla JavaScript library for international telephone input without requiring a framework.
  • Searchable Country Pickers - Filters the country dropdown in real time as the user types a country name, dial code, or ISO code.
  • Framework Component Adapters - Ships framework-specific component wrappers for React, Vue, Angular, and Svelte with lifecycle and binding support.
  • Frontend Framework Integrations - Ships framework-specific components for React, Vue, Angular, and Svelte with lifecycle management.
  • Browser-Based Country Detections - Infers the visitor's country from their browser or network and preselects it in the country picker.
  • Browser-Based Country Detections - Combines IP geolocation and browser locale to automatically preselect the user's country on page load.
  • Country Name Translations - Translates country names and UI strings into dozens of languages for localized country selection.
  • Machine-Readable Error Codes - Returns machine-readable error codes when phone number validation fails for custom error handling.
  • Country Metadata Bundles - Packs flag images, dial codes, and validation patterns for all countries into a single lightweight data structure.
  • CSS Variable Customization - Overrides design tokens such as colors through CSS variables to match a dark mode or brand theme.
  • CSS Variable Theming - Allows full visual customization by overriding CSS custom properties for colors, borders, and spacing.
  • Interface Localization - Translates labels and placeholders into 54 languages with right-to-left script adaptation.
  • Digit Input Restrictions - Prevents the user from typing characters that are not part of a valid phone number for the selected country.
  • Multi-Framework Components - Ships as vanilla JavaScript and as React, Vue, Angular, and Svelte components sharing the same core logic.

Star history

Star history chart for jackocnr/intl-tel-inputStar history chart for jackocnr/intl-tel-input

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jackocnr/intl-tel-input do?

intl-tel-input is an international telephone input widget that provides a country-aware phone number entry experience with automatic formatting, validation, and E.164 normalization. It combines a searchable country picker with a format-as-you-type engine and a validation rule engine that checks numbers against country-specific patterns, returning machine-readable error codes when a number is invalid.

What are the main features of jackocnr/intl-tel-input?

The main features of jackocnr/intl-tel-input are: International Phone Number Libraries, Format-As-You-Type Engines, Phone Number Validation, Validation Rule Engines, Framework Agnostic Interfaces, Searchable Country Pickers, Country Selection Dropdowns, Telephone Input Fields.

What are some open-source alternatives to jackocnr/intl-tel-input?

Open-source alternatives to jackocnr/intl-tel-input include: google/libphonenumber — This project is an international phone number library used for parsing, formatting, and validating phone numbers based… googlei18n/libphonenumber — This project is an international phone number library providing tools for parsing, formatting, and validating phone… marmelroy/phonenumberkit — PhoneNumberKit is a Swift framework for parsing, formatting, and validating international phone numbers according to… zdhxiong/mdui — mdui is a framework-agnostic UI library and design system based on Material Design 3 standards. It provides a… giggsey/libphonenumber-for-php — This is a PHP library for parsing, formatting, and validating international phone numbers. It provides tools to verify… daviddrysdale/python-phonenumbers — This project is a Python port of the libphonenumber library, providing a suite of tools for parsing, formatting, and…

Open-source alternatives to Intl Tel Input

Similar open-source projects, ranked by how many features they share with Intl Tel Input.
  • google/libphonenumbergoogle avatar

    google/libphonenumber

    18,077View on GitHub↗

    This project is an international phone number library used for parsing, formatting, and validating phone numbers based on the E.164 standard. It provides a validation engine and parser to convert raw strings into structured objects and verify if numbers conform to regional numbering rules. The library includes a metadata provider that maps phone numbers to geographic locations, time zones, and network carriers. It can distinguish between line types, such as fixed-line or mobile, to verify SMS compatibility and identify original network operators. Additional capabilities include extracting ph

    C++
    View on GitHub↗18,077
  • marmelroy/phonenumberkitmarmelroy avatar

    marmelroy/PhoneNumberKit

    5,374View on GitHub↗

    PhoneNumberKit is a Swift framework for parsing, formatting, and validating international phone numbers according to global numbering standards. It provides a system of lookup tables, structural parsers, and validation tools to handle the complexities of international telephone numbering. The library converts raw strings into structured objects containing country codes and national numbers. It translates international dialing codes into full country names and verifies whether phone number strings are logically possible and conform to specific regional numbering plans. The project includes ut

    Swift
    View on GitHub↗5,374
  • googlei18n/libphonenumbergooglei18n avatar

    googlei18n/libphonenumber

    18,081View on GitHub↗

    This project is an international phone number library providing tools for parsing, formatting, and validating phone numbers across multiple programming languages. It functions as a parsing utility, a formatting engine, and a validation tool to ensure phone number strings are transformed into structured objects and standardized display formats. The library includes a telecom metadata resolver to retrieve geographical, carrier, and timezone information associated with specific number ranges. It differentiates itself by identifying phone number types, such as mobile, fixed-line, or VoIP, and cal

    C++
    View on GitHub↗18,081
  • zdhxiong/mduizdhxiong avatar

    zdhxiong/mdui

    4,517View on GitHub↗

    mdui is a framework-agnostic UI library and design system based on Material Design 3 standards. It provides a comprehensive set of reusable interface elements implemented as native Web Components, ensuring compatibility across different JavaScript frameworks. The library features a sophisticated theming system that supports light and dark modes, as well as the ability to generate dynamic color palettes from seed colors or image sources. It distinguishes itself with a high level of flexibility in visual customization, using CSS custom properties to control design tokens such as typography, cor

    TypeScriptcssjavascriptmaterial
    View on GitHub↗4,517
See all 30 alternatives to Intl Tel Input→