Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. ex_phone_number

ex_phone_number

MITElixirv0.4.11

An Elixir library for parsing, formatting, and validating international phone numbers, based on Google's libphonenumber.

GitHubGitHub
279 stars71 forks0 contributors

What is ex_phone_number?

ExPhoneNumber is an Elixir library for parsing, formatting, and validating international phone numbers. It is a direct port of Google's libphonenumber, providing reliable tools to handle phone number data according to global standards. The library solves the problem of inconsistent phone number formats and validation across different regions.

Target Audience

Elixir developers building applications that require phone number input, validation, or formatting, such as user authentication systems, contact management tools, or telecommunication services.

Value Proposition

Developers choose ExPhoneNumber because it brings the battle-tested accuracy of Google's libphonenumber to Elixir, with features like custom metadata support and LLM integration guidance, ensuring robust and maintainable phone number handling.

Overview

Elixir port of libphonenumber

Use Cases

Best For

  • Validating user-provided phone numbers in Elixir web applications
  • Formatting phone numbers for display in international user interfaces
  • Parsing phone numbers from various input formats into a standardized structure
  • Ensuring phone number data consistency in Elixir-based databases
  • Integrating phone number handling in telecommunication or messaging services
  • Building authentication systems that use phone numbers as identifiers

Not Ideal For

  • Projects built in programming languages other than Elixir or Erlang
  • Applications requiring real-time phone number carrier detection or geolocation services
  • Systems with strict memory constraints where the bundled metadata size is prohibitive
  • Use cases limited to single-country phone validation without international expansion plans

Pros & Cons

Pros

Google libphonenumber Foundation

Direct port of Google's industry-standard library, ensuring accuracy and reliability for parsing, validation, and formatting of international phone numbers.

Comprehensive Formatting Support

Supports multiple standards like E.164, international, national, and RFC3966, as shown in the usage examples with clear output formats.

Number Type Detection

Identifies phone number types such as fixed-line or mobile, useful for application logic based on number characteristics.

LLM Integration Guidance

Includes usage rules for AI assistants to prevent common mistakes, aiding in correct implementation and reducing integration errors.

Cons

Complex Metadata Configuration

Setting up custom metadata requires recompiling the dependency with absolute paths, which is cumbersome and adds deployment overhead.

Potential Update Lag

As a port, it may not immediately reflect the latest libphonenumber updates; the README notes current metadata version, but updates depend on maintainer activity.

Elixir Ecosystem Dependency

Exclusive to Elixir, making it unsuitable for polyglot projects or those not using Elixir, limiting its versatility.

Frequently Asked Questions

Quick Stats

Stars279
Forks71
Contributors0
Open Issues4
Last commit17 days ago
CreatedSince 2016

Tags

#elixir#telephony#internationalization#e164#phone-number-validation#data-parsing#libphonenumber#data-formatting

Built With

E
Elixir

Included in

Elixir13.1k
Auto-fetched 17 hours ago

Related Projects

AtomVMAtomVM

Tiny Erlang VM

Stars2,178
Forks155
Last commit1 day ago
porcelainporcelain

Work with external processes like a boss

Stars958
Forks45
Last commit5 years ago
hammerhammer

An Elixir rate-limiter with pluggable backends

Stars919
Forks47
Last commit25 days ago
cubdbcubdb

Elixir embedded key/value database

Stars651
Forks33
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub