skillfed

phonenumbers

Python version of Google's common library for parsing, formatting, storing and validating international phone numbers.

phonenumbers Permissive license Apache-2.0 Active 3,765 v9.0.36 released

Install

phonenumbers on PyPI

pip

pip install phonenumbers

uv

uv add phonenumbers

poetry

poetry add phonenumbers

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=2.5)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 12 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: phonenumbers-9.0.36-py2.py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Communications :: Telephony

About phonenumbers

from the package's own PyPI description — quoted content, verbatim

phonenumbers Python Library

Coverage Status (image)

This is a Python port of Google's libphonenumber library It supports Python 2.5-2.7 and Python 3.x (in the same codebase, with no 2to3 conversion needed).

Original Java code is Copyright (C) 2009-2015 The Libphonenumber Authors.

Release HISTORY, derived from upstream release notes.

Documentation

Installation

Install using pip with:

pip install phonenumbers

Example Usage

The main object that the library deals with is a PhoneNumber object. You can create this from a string representing a phone number using the parse function, but you also need to...

Read as markdown · JSON record · Source repository

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Parses, validates, formats, and analyzes international phone numbers using Google's libphonenumber algorithm, with optional geocoding, carrier identification, and timezone lookup.

Installs cleanly with no runtime dependencies and zero friction; actively maintained with a release 12 days ago and 3765 repository stars.

Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions.

Usage

pip install phonenumbers
import phonenumbers
x = phonenumbers.parse("+442083661177", None)
print(phonenumbers.format_number(x, phonenumbers.PhoneNumberFormat.E164))

Verdict: A mature, dependency-free library for international phone number handling with strong maintenance signals, permissive licensing, and no known vulnerabilities. Suitable for production use in applications requiring phone number parsing, validation, or formatting.

Needs verification

  • Whether the geocoder, carrier, and timezone submodules are included in the standard install or require separate packages
  • Performance characteristics when processing large volumes of phone numbers
  • Whether Python 2.5–2.7 support is still actively tested given the 2026 release date
parse international phone numbersphone number validationformat phone numbersphone number geocodingcarrier lookup phonephone number timezonelibphonenumber python

Similar packages