Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. React Native
  3. react-native-country-picker-modal

react-native-country-picker-modal

MITTypeScriptv2.0.0

A customizable React Native modal component for selecting countries with flags, emojis, and filtering.

Visit WebsiteGitHubGitHub
1.1k stars832 forks0 contributors

What is react-native-country-picker-modal?

React Native Country Picker Modal is a React Native component that provides a modal interface for selecting countries. It displays a list of countries with flags, emojis, and optional details like calling codes, and includes filtering and theming options. It solves the problem of building a consistent, accessible country picker across iOS, Android, and Web platforms.

Target Audience

React Native developers building apps that require country selection, such as sign-up forms, phone number inputs, or location-based features.

Value Proposition

Developers choose this library because it offers a fully-featured, customizable picker with offline data, cross-platform support, and easy integration, saving time compared to building a picker from scratch.

Overview

🇦🇶 Country picker provides a modal allowing a user to select a country from a list. It display a flag next to each country name.

Use Cases

Best For

  • Adding country selection to sign-up or profile forms in React Native apps
  • Building phone number input components with country calling codes
  • Creating location-based features that require country filtering
  • Implementing dark mode support in cross-platform country pickers
  • Developing apps that need offline country data without network requests
  • Customizing UI themes for country selection modals

Not Ideal For

  • Web-only applications without React Native or React Native Web setup
  • Projects requiring non-modal country selection interfaces like dropdowns or inline lists
  • Apps with strict bundle size constraints sensitive to large dependencies
  • Teams preferring to manage country data internally without external packages

Pros & Cons

Pros

Rich Visual Cues

Includes flags and emojis for easy country identification, enhancing user experience without additional assets.

Robust Filtering Options

Offers text and alphabetical filtering, making it efficient to navigate long country lists, as shown in the demo.

Cross-Platform Consistency

Fully tested on iOS, Android, and Web, ensuring uniform behavior across platforms with provided examples.

Offline Data Support

Uses the world-countries package for offline access to country details, eliminating network dependencies.

High Customizability

Provides numerous props for styling, theming, and behavior, allowing deep integration with app design, such as dark theme support.

Cons

Bundle Size Impact

Relies on world-countries with base64 flag images, which can significantly increase app bundle size and affect load times.

Complex Customization Setup

Advanced features like disabling native modal require wrapping the app with CountryModalProvider, adding unnecessary complexity for simple use cases.

Limited UI Flexibility

Primarily designed as a modal; adapting it to other UI patterns (e.g., dropdowns) is not straightforward without extensive workarounds.

Dependency on External Package

Tied to the world-countries package for data, so updates or issues with that package could break functionality without direct control.

Frequently Asked Questions

Quick Stats

Stars1,112
Forks832
Contributors0
Open Issues46
Last commit10 months ago
CreatedSince 2016

Tags

#internationalization#flag-icons#countries#react-native#typescript#ui-components#mobile-development#cross-platform#modal

Built With

T
TypeScript
R
React Native

Links & Resources

Website

Included in

React Native35.6k
Auto-fetched 4 hours ago

Related Projects

react-native-vector-iconsreact-native-vector-icons

Customizable Icons for React Native with support for image source and full styling.

Stars17,847
Forks2,106
Last commit11 hours ago
lottie-react-nativelottie-react-native

Lottie wrapper for React Native.

Stars17,142
Forks1,801
Last commit9 days ago
react-native-mapsreact-native-maps

React Native Mapview component for iOS + Android

Stars15,957
Forks4,958
Last commit20 days ago
react-native-gifted-chatreact-native-gifted-chat

💬 The most complete chat UI for React Native

Stars14,392
Forks3,615
Last commit20 days 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