How to choose and construct application ID wisely

08. 02. 2021

two computers and android phone on a black table
Photo by Farzad Nazifi on Unsplash


Every Android app has its unique identifier called applicationId and you have to choose it wisely because it cannot be changed later.

Here are two main reasons why applicationId is important:

  • It becomes a part of the app’s Google Play URL. Everyone can see it there and it impacts SEO as well.
  • In order to change it, you have to create a new app on Google Play and convince all of your users to download it.

Android applicatioinId is constructed in a very similar way as Java packages are. You need a domain owned by an app owner and use it as a base, add an app-specific postfix to it and you have it:


No dashes and special characters in applicationId

Unfortunately, the applicationId cannot contain dashes and other special characters. Dots and alphanumeric characters are the only ones allowed. Here are some examples of good identifiers for main projects apps:

Add a postfixappor android for the main project

We recommend adding appor androidas a postfix for main project/company apps as in the example above.

Other postfixes for secondary apps

Use other postfixes for secondary apps like in example:



No domain? Use client

When you are an agency as we are, use the domain of the client:

If there is no domain related to a client nor its project, there is the client postfix as the last option to consider. We use something like this:


If you need to dig deeper into the topic, more details are available here:
Good luck!

Do you want more?

Interested in more articles on programming or to be even part of the team? 

Join us with your e-mail and have a sneak peek.  Want more

Take a peek!

How are we looking for developers? Vláďa revealed it during one of his workshops for xPORT VŠE Business Accelerator!

10 Entrepreneurship Lessons Worth Thousands of Dollars

Instead of great success we have experienced great entrepreneurship lessons (for now). It also transformed me, a person who has …

Read article

Unique Czech words reflecting coronavirus now also with English explanations as Flashcard quiz in Vocabulary Miner

  Project Čestina 2.0 covering a variety of the modern Czech language with its slangs and new words has joined …

Read article

Performance of built-in higher-order functions Map, Filter, Reduce, and flatMap vs. for-in loop in Swift

  The most popular higher-order functions are map, filter, and reduce. We all use them since we think that syntax …

Read article

Generate JSON key for Google Play deployment

In order to allow our CI server to deploy applications on Google Play automatically, we have to generate the JSON …

Read article