--- id: django-phonenumber-field version: "8.5.0" license: MIT license_treatment: permissive maintenance: active --- # django-phonenumber-field — An international phone number field for django models. License: permissive · Maintenance: active · Downloads: 6.6M/mo ## What it is and what it does django-phonenumber-field is a Django model field that wraps Google's libphonenumber library to handle international phone numbers. It validates phone numbers according to international standards, formats them for display, and stores them in a standardized way within Django models. The field integrates seamlessly with Django's ORM and admin interface, allowing developers to treat phone numbers as a first-class data type rather than plain text strings. The package is built on top of python-phonenumbers, which is a port of the same libphonenumber library that powers Android's phone handling. This means it inherits battle-tested validation logic from Google's implementation. It's useful in any Django application that needs to accept, store, or display phone numbers from users around the world, ensuring data consistency and correctness across different international formats. Use it for: - Store validated international phone numbers in Django models for user profiles or contact records. - Validate phone numbers during form submission to catch invalid formats before saving to the database. - Format phone numbers for display in templates using the field's built-in pretty-printing capabilities. - Build multi-country applications where phone number formats vary by region and need standardized handling. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a Django model field for storing, validating, and formatting international phone numbers using Google's libphonenumber library. Yes. The package is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and solves a concrete problem for Django applications handling international phone numbers. Its single dependency on Django and low install friction make it a straightforward addition to any Django project that needs reliable phone number handling. ## Install pip install django-phonenumber-field uv add django-phonenumber-field poetry add django-phonenumber-field ## Installing django-phonenumber-field Before you install: Low friction installation with a single runtime dependency (Django). Active maintenance with a recent release 22 days ago and ongoing commits; supports current Python versions from 3.10 through 3.14. License in practice: MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you include the license notice. Quickstart: pip install django-phonenumber-field from django_phonenumber_field.modelfields import PhoneNumberField class Contact(models.Model): phone = PhoneNumberField() Requires Django and Python 3.10 or later; the underlying phonenumber validation depends on python-phonenumbers. Verify before relying: - Whether the package handles all international phone number formats or has known limitations with specific regions. - Whether it provides form field widgets or only model field support. - Performance characteristics when validating large batches of phone numbers. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 6.6M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags django phone number field, international phone validation, phone number formatting django, libphonenumber django integration, validate phone numbers django model, django-integration, phone-validation, internationalization [View on SkillFed](https://skillfed.io/packages/django-phonenumber-field) · [View on PyPI](https://pypi.org/project/django-phonenumber-field/)