Manifest Validator
Check your pack's manifest.json field by field — required fields, UUIDs, versions, and modules.
Check namespace:name identifiers against Bedrock's character rules. Paste a whole list — one per line — and see exactly which ones would break your add-on.
Paste one identifier per line to see validation results.
Paste them one per line — from entity definitions, items, tags, loot tables, or commands. Lines starting with # are treated as comments and skipped.
Every line gets a Valid, Warning, or Error badge. Warnings mean it works but is risky (no namespace, or the reserved minecraft: namespace); errors mean the game will not resolve it.
Identifiers are lowercase a-z, 0-9, and _ — never start with a digit, and the name part may also use dots. Rename the offending identifiers everywhere they are referenced.
Pick a namespace from your project (your add-on name, your team, anything lowercase) and use it consistently. Never put custom content in the minecraft: namespace.
An identifier is the namespace:name pair that refers to a game object such as an entity, item, block, or sound event. For example myaddon:hero_sword refers to the item hero_sword in the myaddon namespace.
Both the namespace and the name use lowercase a-z, digits 0-9, and underscores, and neither may start with a digit. The name part may additionally contain dots. Uppercase letters are not allowed.
The minecraft: namespace holds vanilla content. Using it for your own custom content risks conflicts with game files and is against convention — custom add-ons should use their own namespace.
In many places Bedrock assumes the default minecraft: namespace when none is given, so a bare name usually resolves to a vanilla object. For custom content you should always write your own namespace:name.
Yes. Bedrock identifiers must be lowercase — the validator flags any uppercase letters as errors because they will not resolve the way you expect.
Identifiers appear throughout add-ons: entity and item JSON definitions, tags, loot tables, spawn rules, and commands like /summon and /give. One typo there breaks the whole object.