A Swift framework for parsing, formatting, and validating international phone numbers, inspired by Google's libphonenumber.
PhoneNumberKit is a Swift framework for parsing, formatting, and validating international phone numbers. It solves the problem of handling phone numbers across different regions and formats by providing a lightweight, high-performance library inspired by Google's libphonenumber. The framework ensures accuracy and ease of use for developers building iOS applications.
iOS and Swift developers who need to handle phone number input, validation, and formatting in their applications, particularly those targeting international users.
Developers choose PhoneNumberKit for its native Swift implementation, high performance, and accuracy matching Google's libphonenumber. It offers a simple API, real-time formatting with PhoneNumberTextField, and full compatibility with iOS, making it a preferred alternative to heavier or less integrated solutions.
A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarked at 1000 parses in ~0.4 seconds, making it efficient for bulk operations like processing datasets or validating multiple inputs quickly.
Uses Google's libphonenumber metadata, ensuring validation accuracy that matches industry standards and is fully tested against Google's JavaScript implementation.
Built with Swift 5.3, providing a clean, type-safe interface that integrates seamlessly into iOS projects without the overhead of bridging to Objective-C libraries.
Includes PhoneNumberTextField with AsYouType formatting, allowing editable live formatting for UITextField inputs, which enhances user experience in forms.
PhoneNumberUtility instances are expensive to allocate as they parse and retain metadata in memory, which can lead to high memory usage if not managed carefully across app lifecycle.
Designed primarily for iOS and Swift, so it's unsuitable for server-side, web, or non-Apple platform projects without significant workarounds.
Requires integration via Swift Package Manager, Carthage, or CocoaPods, adding complexity for teams using custom build systems or those new to dependency management in iOS.