Documentation

Written by appress

Package ID Naming Convention

A Package ID uniquely identifies a mobile app on the stores. Android calls it applicationId, iOS calls it Bundle Identifier. Use the same ID on both platforms.

Format

com.<company>.<app>

Lowercase reverse-DNS notation. Example: com.acmecorp.fitness

Rules (Cross-Platform Safe)

To be valid on both Android and iOS, use only:

  • Letters (a–z)
  • Numbers (0–9)
  • Period (.) — as segment separator only

Avoid these characters (each is rejected by one platform):

CharacterAndroidiOS
Underscore _✅ AllowedRejected
Hyphen -Rejected✅ Allowed

Other rules:

  • At least 2 segments separated by dots (com.company.app)
  • Each segment must start with a letter
  • Lowercase only
  • Don’t use reserved prefixes: com.apple., com.android., com.example.

Environment Variants

com.acmecorp.fitness            Production
com.acmecorp.fitness.staging    Staging
com.acmecorp.fitness.dev        Development

Examples

Valid (both platforms)InvalidReason
com.acmecorp.fitnesscom.acme_corp.fitnessUnderscore — iOS rejects
vn.companyname.appnamecom.acme-corp.fitnessHyphen — Android rejects
com.startup.todocom.123app.mobileSegment starts with number
io.brandname.appcom.MyApp.TodoUppercase letters

Tip: If your domain contains a hyphen (e.g. my-app.com), simply remove it: use com.myapp.appname.

Important

The Package ID cannot be changed after the app is published. Changing it requires creating a new app — losing all users, reviews, rankings, and history. Choose carefully from the start.

References