Back to Free Tools
FREE TOOLS
ICU MessageFormat Playground
Format an ICU MessageFormat template using explicit values,locale and timezone.
ICU message, Values (JSON object), Locale, Timezone
JSON
Browser only
Runs locally in your browser. Your files, pasted content and generated output are not uploaded. Reset clears this tool’s working data.
This tool needs JavaScript. If it does not load, refresh the page and try again.
How to use this tool
- Enter the displayed example values,or choose the local input files requested by the controls. Optional source files take precedence where labelled.
- Choose Format message and inspect the complete result and any reported limitations.
- Use Download result and each companion download link to save complete outputs. Reset clears output and restores example controls.
Examples
ICU message: Hello {name}. {count, plural, one {# item} other {# items}}
Values (JSON object): {"name":"Ada","count":2}
Locale: en
Timezone: UTC
Limitations
- Parse and format actual ICU MessageFormat1 using pinned IntlMessageFormat12.1.4 and current browser Intl locale data. Support arguments,number/date/time,select,plural/ordinal,offsets and skeletons. Explicit supported locale/timezone;date/time values are epoch milliseconds. Supply up to100primitive string,finite safe-integer/binary64 number or Boolean values;numeric/select arguments enforce their types. All branches require declared values. Tags remain literal plain text,never HTML/callbacks. Complete original message,values,AST,argument uses,parts and result in JSON. At most16,000message characters,20conservative raw brace/AST levels,2,000AST nodes/100options per selector,100,000characters per values JSON,400,000combined UTF-8 input bytes,1,000,000expansion characters/4-MiB report. Locale data versions may differ;this is not MessageFormat2. All processing stays in your browser.
- Complete outputs only. Unsupported or oversized input is refused. Follow the displayed job-specific bounds and format policies.
Related tools
No items found.