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β
- Type app name and company β Free-form text. Spaces, capitalisation, special chars β generator normalises.
- Pick TLD prefix β com (most common), io (tech-startup), app (Apple-friendly), org (open-source), or custom.
- Generate β Output: lowercased, dots-separated, validated against per-platform rules.
- 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.
Last updated: 2026-05-06 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub