Mobile development

Bundle ID validatorCheck the rules for the platform you chose

Enter one existing app identifier, choose its platform, and inspect each segment.

Bundle ID validator

App identifier

Validation report

Enter an identifier to see a segment report.

The identifier is checked in your browser; this page does not contact an app store.

Enter an identifier to see a segment report.

Before an app's identity is fixed in a release, a Bundle ID validator can catch a tiny typo that a broad search will miss. Paste the exact value from your project; the checker never silently normalizes it.

Android's applicationId and an iOS bundle identifier look similar but allow different characters. This package name validator applies the selected platform's syntax, then separates errors from naming advice.

Why use this Bundle ID validator?

The same text can have a different outcome on each platform.

Find the exact failing segment

The Bundle ID validator splits the ID on dots and reports an empty part, a leading digit, or an unsupported character beside its segment number. It leaves the original spelling intact so you can fix the project setting yourself.

Three dot-separated identifier segments, with the second segment highlighted as the source of an error.

Compare two real rule sets

Android allows underscores inside a segment but rejects hyphens; iOS allows hyphens but rejects underscores. Switching platform reruns the same value without rewriting it, making that difference visible before you copy a shared name into two projects.

Two mobile device panels compare a permitted hyphen on iOS with a permitted underscore on Android.

Check the setting that will ship

01

Use the final project value

For Android, copy applicationId from the app module rather than assuming the code namespace is identical. For iOS, use the Bundle Identifier in the target settings; a wildcard App ID is not the app's actual ID.

02

Choose the platform first

Android is selected by default. Switch to iOS when checking a bundle identifier: a hyphen changes from an error to an allowed character, while an underscore changes the other way. The input stays untouched.

03

Read the segment report

Automatic validation waits 350 ms after a change. Turn it off to use Validate ID or Ctrl/Cmd+Enter. A changed value makes the previous report stale and blocks copying until validation finishes.

Specific syntax, visible findings

Android application ID rules

The report requires at least two segments, an ASCII letter at the start of each, and only letters, digits or underscores within them. Uppercase letters remain valid; they are not converted to lowercase.

iOS character checks

The iOS mode accepts ASCII letters, digits and hyphens between periods. It marks underscores and wildcard asterisks as errors. Reverse DNS format is shown as advice when the value has only one segment.

Report for a single existing ID

Every segment has a numbered row, and the full findings can be copied to an issue. The report describes syntax only; a valid reverse DNS identifier does not prove domain ownership or registration.

What the result does and does not prove

No store availability lookup
A pass means the local character and segment rules matched. It does not check whether Apple or Google has already assigned the identifier, whether it is reserved, or whether your account can register it.
No signing or project inspection
The checker reads one pasted string, not an APK, IPA, Info.plist or Gradle file. It cannot confirm a Team ID, certificate, applicationId/namespace match, or a build's actual identity.
An explicit Bundle ID only
A wildcard App ID such as com.company.* is a provisioning pattern, not the concrete iOS bundle identifier checked here. The asterisk is rejected rather than expanded.
Advice is separate from syntax
Lowercase and reverse DNS spelling can be useful conventions. Android still accepts uppercase and underscores by its documented syntax; this page does not turn third-party length limits or Java keyword policies into platform rules.
No rewriting or batch processing
The input is never cleaned or generated from a domain. Check one identifier at a time; fixing an app ID after release can create a distinct app rather than an update.

Bundle ID validator questions

What is the difference between Android and iOS ID rules?

Android applicationId needs at least two letter-led segments; each can contain ASCII letters, digits and underscores. An iOS Bundle ID permits hyphens instead of underscores. Select the platform before interpreting the report.

How many segments does an app ID need?

Android requires at least two dot-separated segments. On iOS, reverse DNS spelling is typical, but Apple describes it as a convention; this checker advises on a single segment instead of claiming it is an Apple syntax failure.

Are hyphens and underscores allowed in a package name?

For an Android application ID, an underscore is allowed after the first letter of a segment, while a hyphen is not. For an iOS Bundle ID, the hyphen is allowed and the underscore is not.

Can I change an application ID after publishing?

A different Android applicationId identifies a different app on Google Play; existing users do not receive it as an update. Apple also ties uploaded builds to the registered Bundle ID. Check the final value before release.

Does a valid bundle ID mean it is available in the store?

No. The Bundle ID validator checks the local string only. Registration, ownership, reserved names and account permissions require the relevant developer console; no store request is sent from this page.

Found a platform rule we should clarify?

Run the Bundle ID validator before release

Use the Bundle ID validator on the exact value you intend to ship, then confirm it in Xcode or Gradle and in the appropriate developer account.