ICU Message Catalog Auditor
Parse bounded ICU message catalogs and compare named arguments without evaluating translations.
Loading tool…
How to use ICU Message Catalog Auditor
Find invalid messages, missing entries and changed argument signatures across two flat JSON catalogs. Plural/select branches remain parsed data; no functions or translation services run.
- Enter input, comparison catalog (blank for syntax only).
- Choose the settings for icu message catalog auditor, then run the tool.
- Review the result and any limitations before copying or downloading it.
Good to know
- 50,000 combined characters across the flat catalogs,500 messages,10,000 characters per message and conservative raw brace/AST nesting20. Total AST budget10,000 nodes.
- Uses a pinned FormatJS parser, not an ICU evaluator. Literal quoted braces count toward the conservative preparse nesting bound. Syntax failure is reported per message.
- Processing is local. Output is limited to 1,000,000 text characters unless a stricter file limit is stated.
Common questions
Are plural expressions executed?
No. Parsed branch structure and argument names are inspected without formatting any message or invoking callbacks.
Is this input sent to a server?
No. The application processes this input inside your browser tab and does not save it to persistent storage.
Keep going with related tools
All text →JSON Validator
Check JSON syntax locally and see its root type, value count, and nesting depth.
TextText Diff
Compare two texts line by line and download an easy-to-read difference report, entirely in your browser.
TextLiteral Text Template Filler
Fill a variable-only text template from one JSON object or a bounded array of records.
TextPseudolocalization Catalog Builder
Export a deterministic test-text catalog with accented letters, explicit scalar padding and protected selected variable tokens.
TextLocalization String Budget Reviewer
Check keyed translations against your declared grapheme, UTF-8 byte and logical-line budgets.
TextPrintf Translation Argument Checker
Compare a restricted printf source/translation argument contract without running either format string.