Android Version & API Lookup
Search the full Android version history by version number, API level, or codename. Click any row to copy a ready-to-paste reference string.
- Runs locally
- Works offline
- No sign-up
Version and API map
| API Level | Version | Codename | Year |
|---|
About this tool
A searchable reference table of every Android API level, its corresponding version number, dessert codename, and release year. The data covers API 1 (Android 1.0, 2008) through API 35 (Android 15, 2024).
Type any part of a version number, API level, or codename to filter the table instantly. Click any row or its Copy button to copy a clean reference string to your clipboard.
API levels explained
Each Android release ships with a new integer API level. Your app declares minSdkVersion (the oldest device it supports) and targetSdkVersion (what behavior it opts into). Google Play requires apps to target a recent API level.
Starting with Android 10 (API 29), Google stopped using public dessert names, but internal codenames (Quince Tart, Red Velvet Cake...) still appear in AOSP commit messages and bug trackers.
Tips for developers
- Set
minSdkVersionto 21 (Android 5.0) to cover roughly 99% of active devices. - Always set
targetSdkVersionto the latest stable API level to comply with Play Store requirements. - Use
Build.VERSION.SDK_INTat runtime to check the device API level before calling newer APIs. - API 32 (12L) was a minor release targeting large screens; if you see it in your analytics, it is just Android 12 on foldables and tablets.
About Android API Levels and Version Numbers
Every public Android release ships with a new API level: a monotonically increasing integer that identifies a specific version of the Android framework. App developers use this number in their build.gradle files as minSdkVersion and targetSdkVersion to control which devices can install the app and which behavioral changes the app opts into.
How API levels and version names relate
Android 1.0 started at API level 1 in 2008. Each subsequent major release added at least one level; minor point releases sometimes added a level too (for example, Android 2.0.1 is API 6, separate from Android 2.0 at API 5). Starting with Android 10, Google dropped the public dessert branding but kept internal project codenames. You will still see names like "Tiramisu" (Android 13) in AOSP and the bug tracker.
Why targetSdkVersion matters
Google Play requires all new apps and updates to target a recent API level (currently within one year of the latest release). Targeting a higher API level signals that your app has been tested against the new behavior changes that Android introduced at that level, such as the stricter background execution limits in Android 8.0 (API 26) or the scoped storage changes in Android 10 (API 29).
Frequently asked questions
What is an Android API level?
An integer that identifies a specific Android framework revision. Each major release increments it. You reference it in minSdkVersion and targetSdkVersion in your app's build configuration.
What version is API 34?
API 34 is Android 14, codenamed Upside Down Cake, released in 2023. Google Play required new app submissions to target API 34 from August 2024 onward.
Why are there two entries for Android 12?
Android 12L (API 32) was a feature drop aimed at large-screen devices such as foldables and tablets. It shipped in early 2022 between the Android 12 (API 31) and Android 13 (API 33) releases.
Why do some old versions share a codename?
Minor point releases kept the same codename as their parent. Android 2.3 and 2.3.3 are both Gingerbread (APIs 9 and 10), and Android 7.0 and 7.1 are both Nougat (APIs 24 and 25).