International
Telephone Input

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

Type a number above to see the output here
Get started
137k websites
4.3M npm downloads/month
8.2k GitHub stars

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 users to type valid digits and enforce max length

International & accessible

  • Translated into 45 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

Playground presets

Jump straight into the Playground with some common configurations.

Or browse the docs and examples.

Testing

Browser testing via