Skip to main content

safe-app-identifier-generator

App identifiers (also called package names or bundle IDs) are reverse-DNS-style strings that uniquely identify an app β€” com.company.appname. Android, iOS, Capacitor, Flutter, and React Native all use this format with slightly different rules: lowercase only, dot-separated, must start with a letter, no reserved words (com.android.*), no hyphens. The ZTools Safe App Identifier Generator turns a free-form app name into a valid identifier, validates against each platform's rules, and warns on collisions with reserved prefixes.

Use cases​

Pick an app ID for a new project​

Capacitor / Cordova ask for the bundle ID at init. Generator suggests com.yourcompany.appname and validates the parts.

Fix an invalid identifier​

Old project uses uppercase letters in the bundle ID β€” Android Studio rejects. Generator suggests the corrected version.

Reserve a namespace​

Picking a unique prefix matters β€” once published, you can't change it without losing user data on update.

Validate before submission​

Pre-flight check before App Store / Play Store upload β€” catch invalid identifiers locally rather than getting rejected at submission.

How it works​

  1. Type app name and company β€” Free-form text. Spaces, capitalisation, special chars β€” generator normalises.
  2. Pick TLD prefix β€” com (most common), io (tech-startup), app (Apple-friendly), org (open-source), or custom.
  3. Generate β€” Output: lowercased, dots-separated, validated against per-platform rules.
  4. Validate β€” Checks against Android (no spaces, no hyphens, lowercase, starts with letter), iOS (same plus no reserved namespaces), Capacitor (matches both).

Examples​

Input: company "Acme Corp", app "My Cool App"

Output: com.acmecorp.mycoolapp β€” lowercased, no spaces.


Input: company "Z-Tools", app "Privacy Tool 2"

Output: com.ztools.privacytool2 β€” hyphens stripped (Z-Tools), digits in name allowed mid-token.


Input: Reserved-prefix collision: company starting "com.android.*"

Output: Warning: this prefix is reserved by Android. Suggested alternative: com.companyname.android.appname.

Frequently asked questions​

Can I change the identifier after publishing?

No β€” once an app ships with bundle ID com.x.y, changing it on update treats the new version as a different app. Users lose data, ratings, paid status. Pick carefully.

Hyphens?

Not allowed in Java package names β€” Android rejects. iOS accepts but discouraged. Replace with underscore or remove.

How to reserve a namespace?

You don't reserve formally β€” first to publish under a name "owns" it on the Play Store / App Store. Use a domain you own as prefix to avoid collisions.

Privacy?

All in browser.

Tips​

  • Use a domain you own as prefix β€” guarantees no collision.
  • Keep the identifier short β€” long IDs hurt URL schemes (com.x.y://) and look unprofessional in Info.plist.
  • Avoid digits at the start of any token β€” some toolchains reject com.123.app.
  • Pick once, never change β€” the cost of a wrong choice is enormous post-launch.

Try it now​

The full safe-app-identifier-generator runs in your browser at https://ztools.zaions.com/safe-app-identifier-generator β€” no signup, no upload, no data leaves your device.

Open the tool β†—


Last updated: 2026-05-06 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub