Skip to content

Kompose Country Code Picker

A Compose Multiplatform country code picker built with Material 3 for Android, iOS, Desktop (JVM), JS Browser, and WasmJS Browser.

Preview

Android Picker Android Dialog
Android Picker Android Dialog
iOS Picker iOS Dialog
iOS Picker iOS Dialog
Desktop Picker Desktop Dialog
Desktop Picker Desktop Dialog
Web Picker Web Dialog
Web Picker Web Dialog

Features

  • 250+ countries with flags, dialling codes, and localized names
  • Phone number validation & formatting — powered by libphonenumber on Android/JVM, built-in rules on iOS/JS/WasmJS
  • Accent-normalized search — find countries regardless of diacritics
  • Responsive dialog — full-screen on compact screens, popup on expanded screens
  • 13 language translations — Arabic, German, Spanish, French, Hindi, Indonesian, Italian, Japanese, Dutch, Russian, Swahili, Turkish, Vietnamese
  • Fully customizable — colors, shapes, icons, text styles, and flag sizes
  • Keyboard navigation — Arrow keys, Enter, and Escape support on desktop and web

Installation

Add the Maven Central repository if it is not already there:

repositories {
    mavenCentral()
}

Multiplatform Projects

Add the dependency to your commonMain source set:

kotlin {
    sourceSets {
        commonMain {
            dependencies {
                implementation("io.github.joelkanyi:komposecountrycodepicker:<latest-version>")
            }
        }
    }
}
libs.versions.toml
[versions]
komposecountrycodepicker = "<latest-version>"

[libraries]
komposecountrycodepicker = { module = "io.github.joelkanyi:komposecountrycodepicker", version.ref = "komposecountrycodepicker" }

Then in your build.gradle.kts:

kotlin {
    sourceSets {
        commonMain {
            dependencies {
                implementation(libs.komposecountrycodepicker)
            }
        }
    }
}

Android Projects

Add the dependency to your app's build.gradle.kts:

dependencies {
    implementation("io.github.joelkanyi:komposecountrycodepicker:<latest-version>")
}
libs.versions.toml
[versions]
komposecountrycodepicker = "<latest-version>"

[libraries]
komposecountrycodepicker = { module = "io.github.joelkanyi:komposecountrycodepicker", version.ref = "komposecountrycodepicker" }

Then in your build.gradle.kts:

dependencies {
    implementation(libs.komposecountrycodepicker)
}

Get Started View on GitHub