Upload an app

In the second half of 2021, new apps will be required to publish with the Android App Bundle on Google Play. New apps larger than 150MB will have to use either dynamic feature delivery or dynamic asset delivery.

Read this post on the Android Developers Blog for more details.

After you've signed up for a Google Play developer account, you can upload apps to Google Play using your Play Console.

Tip: When building your app, use Google Play’s recommended publishing format, the Android App Bundle.

Create an app

  1. Go to your Play Console.
  2. Select All applications All applications > Create application.
  3. Select a default language and add a title for your app. Type the name of your app as you want it to appear on Google Play.
  4. Create your app's store listing, take the content rating questionnaire, and set up pricing and distribution.

Get your app ready for testing or production

To get your app ready for testing or production, you need to prepare and roll out releases to a specific track.

A release is a combination of one or more build artifacts that you'll prepare before releasing an app or update to users.

Manage APK files

Package names for app files are unique and permanent, so please name them carefully. Package names can't be deleted or re-used in the future.

Find your APK files

To see your app's APKs:

  1. Go to your Play Console.
  2. Select an app.
  3. Select Release management > Artifact library. You'll see a list of your app's draft, active, and archived APKs.
    • Draft: APKs that have not been served to users yet
    • Active: APKs currently being served to users
    • Archived: APKs that were once active but are no longer being served to users

Maximum size limit

Apps on Google Play have a size limit, which is based on the compressed size of your APK at the time of download.

After you upload an APK, the Play Console uses gzip to estimate what your app’s download size will be. When users download your app, because of the advanced compression tools used on Google Play, it’s possible that your app’s actual download size will be smaller than the estimate you see on the Play Console.

Depending on the Android versions your APK targets, the size limit is:

  • 100MB: APKs that target Android 2.3 and higher (API level 9-10, 14 and higher)
  • 50MB: APKs that target Android 2.2 and lower (API level 8 and lower)

If you can't support all devices with a single APK, you can upload multiple APKs for the same app that target different device configurations.

Note: Users must run Play Store version 5.2 or higher to install 100MB APKs.

Sign your app

Android requires that all apps be digitally signed with a certificate before they can be installed. For more information, go to the Android Developers site.

  • If you see a message that your APK is signed with an insecure certificate and key size must be at least 1024 bits, follow the instructions to sign your app manually.
  • Important: Enroll in app signing by Google Play or keep your keystore in a secure location. If you lose your keystore, you'll need to publish the app with a new package name and a new key. If you need to do this, you should also unpublish the original app and update its description.
APK version requirements for the Play Console

Every APK has a versionCode in the manifest file that's incremented with each update of your app.

To upload your app to the Play Console, the greatest possible value for versionCode is 2100000000. If the versionCode of your APK exceeds this value, the Play Console will prevent you from submitting a new APK.

When selecting the versionCode for your APK, keep in mind that you'll need to increase the versionCode for every update and still stay below the maximum.

Note: For more information on versioning your APK, go to the Android Developers site. Keep in mind the Android MAXINT differs from the Play Console upload requirements.

Target API level requirements for the Play Console

Every APK has a targetSdkVersion in the manifest file (also known as the target API level) which informs how your app is run on different Android versions.

Configuring your app to target a recent API level ensures that users benefit from significant security and performance improvements, while still allowing your app to run on older Android versions (down to the minSdkVersion).

When you upload an APK, it needs to meet Google Play’s target API level requirements. Here are the levels that apps currently need to target and will need to target in the future.

API level requirement Starting date
Android 8.0 (API level 26)
  • August 1, 2018: Required for new apps
  • November 1, 2018: Required for app updates
Android 9 (API level 28)
  • August 1, 2019: Required for new apps
  • November 1, 2019: Required for app updates

Android 10 (API level 29)*

  • August 3, 2020: Required for new apps
  • November 2, 2020: Required for app updates

* Wear OS apps are not subject to the API level 29 requirement.

Once these requirements come into effect, the Play Console will prevent you from submitting new APKs using older target API levels.

Tip: For technical advice on how to change your app’s target API level to meet these requirements, refer to the migration guide.

Set up your store listing

Your app's store listing is displayed on Google Play and includes details that help users learn more about your app. Your store listing is shared across tracks, including testing tracks.

Product details
  1. Go to your Play Console.
  2. Select All applications All applications.
  3. Select an app and fill in the fields under "Product Details."
Field Description Character Limit Notes
Title Your app's name on Google Play. 50 character limit You can add one localized title per language.
Short description The first text users see when looking at your app's detail page on the Play Store app. 80 character limit Users can expand this text to view your app's full description.
Full description Your app's description on Google Play. 4000 character limit  

Note: Repetitive or irrelevant use of keywords in the app title, description, or promotional description can create an unpleasant user experience and result in an app being suspended on Google Play. Please refer to full guidelines in the Google Play Developer Program Policies.

Graphic assets

Learn more about adding graphic assets, screenshots and videos for your app.

Languages & translations

Add & manage translations

When you upload an app, the default language is English (United States, en-US). You can add translations of your app's information, along with in-language screenshots and other graphic assets.

  1. Go to your Play Console.
  2. Select All applications All applications.
  3. Select an app and review the languages listed under "Product Details."
  4. To add new languages, select Manage Translations > Purchase translations or Add your own translation text.
See available languages

You can provide your own translations for the following languages:

  • Afrikaans – af
  • Amharic – am
  • Arabic – ar
  • Armenian – hy-AM
  • Azerbaijani – az-AZ
  • Basque – eu-ES
  • Belarusian – be
  • Bengali – bn-BD
  • Bulgarian – bg
  • Burmese – my-MM
  • Catalan – ca
  • Chinese (Hong Kong) – zh-HK
  • Chinese (Simplified) – zh-CN
  • Chinese (Traditional) – zh-TW
  • Croatian – hr
  • Czech – cs-CZ
  • Danish – da-DK
  • Dutch – nl-NL
  • English – en-AU
  • English – en-CA
  • English – en-IN
  • English – en-SG
  • English (United Kingdom) – en-GB
  • English (United States) – en-US
  • Estonian – et
  • Filipino – fil
  • Finnish – fi-FI
  • French – fr-FR
  • French (Canada) – fr-CA
  • Galician – gl-ES
  • Georgian – ka-GE
  • German – de-DE
  • Greek – el-GR
  • Hebrew – iw-IL
  • Hindi – hi-IN
  • Hungarian – hu-HU
  • Icelandic – is-IS
  • Indonesian – id
  • Italian – it-IT
  • Japanese – ja-JP
  • Kannada – kn-IN
  • Khmer – km-KH
  • Korean (South Korea) – ko-KR
  • Kyrgyz – ky-KG
  • Lao – lo-LA
  • Latvian – lv
  • Lithuanian – lt
  • Macedonian – mk-MK
  • Malay – ms
  • Malayalam – ml-IN
  • Marathi – mr-IN
  • Mongolian – mn-MN
  • Nepali – ne-NP
  • Norwegian – no-NO
  • Persian – fa
  • Polish – pl-PL
  • Portuguese (Brazil) – pt-BR
  • Portuguese (Portugal) – pt-PT
  • Romanian – ro
  • Romansh – rm
  • Russian – ru-RU
  • Serbian – sr
  • Sinhala – si-LK
  • Slovak – sk
  • Slovenian – sl
  • Spanish (Latin America) – es-419
  • Spanish (Spain) – es-ES
  • Spanish (United States) – es-US
  • Swahili – sw
  • Swedish – sv-SE
  • Tamil – ta-IN
  • Telugu – te-IN
  • Thai – th
  • Turkish – tr-TR
  • Ukrainian – uk
  • Vietnamese – vi
  • Zulu – zu

Tip: To translate your app's description into other languages, you can use Google Play App Translation Service.

Localized images & videos

To market your app in different languages more effectively, you can add localized graphic assets to your app's Store listing page.

Users will see the localized graphic assets on Google Play if their language preferences match the languages you've added.

Automated translations

If you don't add your own translations, users can view an automated translation of your app's Google Play store listing page using Google Translate or the default language for your app.

For automated translations, there will be a note explaining that the translation has been done automatically, along with an option to view the app's default language. Keep in mind automated translations aren't supported for Armenian, Raeto-romance, Tagalog, and Zulu.


To select your application type and category:

  1. Go to your Play Console.
  2. Select All applications All applications.
  3. Select an app.
  4. Under "Categorization," select an application type and category (see examples).
Contact details

To add support resources for your app for Google Play users:

  1. Go to your Play Console.
  2. Select All applications All applications.
  3. Select an app.
  4. Under "Contact Details," add your contact information. You can offer multiple support channels (website, email, phone), but a contact email is required to publish apps on Google Play.

Tip: Learn more about providing support for your users.

Privacy policy

Adding a privacy policy to your app's store listing helps provide transparency about how you treat sensitive user and device data. Here’s how you add a privacy policy to your store listing.

Next steps

Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue