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