Telegram Bot Markdown/HTML Builder - Online Message Formatter
Compose messages with bold, italic, links, and code. See the raw HTML or Markdown for your Telegram bot API calls.
UD5 Toolkit
Explore JavaScript's Internationalization API — format numbers, dates, lists & more in real-time
const formatter = new Intl.NumberFormat('en-US', {
style: 'decimal',
notation: 'standard',
minimumFractionDigits: 0,
maximumFractionDigits: 2,
signDisplay: 'auto',
useGrouping: true
});
console.log(formatter.format(1234567.89)); // "1,234,567.89"
// Loading...
const formatter = new Intl.ListFormat('en-US', { type: 'conjunction', style: 'long' });
console.log(formatter.format(['apple', 'banana', 'cherry', 'date']));
const formatter = new Intl.RelativeTimeFormat('en-US', { style: 'long', numeric: 'always' });
console.log(formatter.format(-1, 'day')); // "1 day ago"
| Number | Category |
|---|
const rules = new Intl.PluralRules('en-US', { type: 'cardinal' });
console.log(rules.select(1)); // "one"
const collator = new Intl.Collator('en-US', { usage: 'sort', sensitivity: 'variant' });
console.log(collator.compare('apple', 'banana')); // -1
Intl.NumberFormat for formatting numbers and currencies, Intl.DateTimeFormat for dates and times, Intl.ListFormat for lists, Intl.RelativeTimeFormat for relative time expressions, Intl.PluralRules for pluralization, and Intl.Collator for locale-aware string comparison. It's supported in all modern browsers and Node.js.Intl.ListFormat (Chrome 72+), Intl.RelativeTimeFormat (Chrome 71+), and Intl.DisplayNames (Chrome 81+) have slightly different support timelines. Always check caniuse.com for the latest compatibility data.en-US, zh-CN, or pt-BR. They consist of a language code (ISO 639-1, e.g., "en" for English) optionally followed by a region code (ISO 3166-1 alpha-2, e.g., "US" for United States). This allows the Intl API to provide region-specific formatting — for example, en-US formats dates as MM/DD/YYYY while en-GB uses DD/MM/YYYY.Intl.NumberFormat uses ISO 4217 currency codes (like USD, EUR, JPY). When you specify a currency, it automatically places the currency symbol in the correct position for that locale — for example, de-DE with EUR shows "123,45 €" (symbol after the number with a space), while en-US with USD shows "$123.45" (symbol before the number). You can also control display with currencyDisplay: 'symbol' | 'narrowSymbol' | 'code' | 'name'.dateStyle and timeStyle are high-level presets introduced in ECMAScript 2021. They let you specify 'full', 'long', 'medium', or 'short' and the browser picks the appropriate combination of weekday, year, month, day, hour, minute, and second for that locale. Individual components (like weekday: 'long') give you fine-grained control but require more configuration. You cannot use dateStyle/timeStyle together with individual component options — it's one or the other.type option controls whether it's a conjunction ("and"), disjunction ("or"), or unit list (no connector). The style option controls the length of the connectors.Intl.PluralRules helps you determine which plural form to use for a given number, which is essential for proper i18n in apps — e.g., showing "1 message" vs "2 messages" in English, or the correct form in more complex languages.Intl.Collator when you need to compare many strings with the same collation rules (like sorting an array). It's more performant because the collation rules are compiled once. For one-off comparisons, String.prototype.localeCompare() is more convenient. Both support the same options including sensitivity (base/accent/case/variant), numeric ordering (so "file10" comes after "file2"), and caseFirst.if (typeof Intl.ListFormat === 'function') { /* supported */ }. You can also check locale support with Intl.NumberFormat.supportedLocalesOf(['en-US', 'xx-XX']) which returns only the valid locales. For time zones, use Intl.supportedValuesOf?.('timeZone') (Chrome 99+). Always feature-detect rather than browser-sniff for robust internationalization.--with-intl=full-icu flag or install the full-icu npm package. Check with new Intl.DateTimeFormat('fr-FR').resolvedOptions().timeZone to verify ICU data availability.Compose messages with bold, italic, links, and code. See the raw HTML or Markdown for your Telegram bot API calls.
Write a JavaScript snippet and get a ready‑to‑drag bookmarklet link. With minification and encoding. Easy browser tools.
Transform English text into pseudolocalized text with accents, expansion, and brackets. Test your UI's readiness for translation.
Paste a Quartz cron expression (with seconds field) and translate it to standard Unix cron. For devops migrations.
Animate text that looks like it's being decoded or scrambled before settling on the final word. Copy the JS snippet.
Drop a PDF and extract any embedded JavaScript or form actions. Check for malicious code. Privacy‑friendly analysis.
Paste rich text and clean it to plain text. Normalize line endings and whitespace. Prepare for code or databases.
Create promises that resolve or reject after a delay. See state changes and chain .then/.catch. Debug async code.
Write a generator function and step through it with next(). See values and done state. Understand iterators.
Write JavaScript using element.animate() and see the result in a live preview. Compare with CSS keyframes. Debugger included.
Paste your Accept‑Language header and see which languages your site should serve based on quality values. Internationalization helper.
Input any JavaScript object and see if structuredClone can deep‑copy it. Compare with JSON.parse/stringify. Learn transferables.
Test the Fullscreen API: request fullscreen on a colored div, detect changes, and copy the JavaScript boilerplate.
Choose Babel presets (env, React, TypeScript) and plugins. Get a clean babel.config.json to transpile your code. Local tool.
Press any key to see the complete KeyboardEvent properties: key, code, keyCode, modifiers. Indispensable for game & shortcut developers.
Insert a blank line between each line of text. Perfect for blog drafts or scripts. One‑click converter. Local.
Write JavaScript code and see the output or console.log results immediately. Safe iframe sandbox. For quick experiments.
Paste a phone number and format it according to the E.164 standard. Identify country and detect common typos. Local parser.
Paste text and align it left, center, right, or fully justify by inserting spaces. Simple formatting helper. Pure browser.
Check if an IBAN has the correct length and structure for its country. Early validation, no bank connection.
Paste any JavaScript snippet and get a ready‑to‑drag bookmarklet link. Minify and encode automatically. Pure client.
Drop an image that might have wrong extension and see its real format (JPEG, PNG, WebP) based on header bytes.
Convert any text into JavaScript‑style \uXXXX escape sequences and vice versa. Handles emojis. Useful for i18n development.
Understand which file system to choose for your SD card based on capacity and device. A quick guide, no actual formatting.
Paste any JavaScript expression and see its evaluated type and value. Understand JS coercion and type quirks. Educational.
Apply dyslexia‑friendly fonts, spacing, and background to any text. Preview and copy the formatted version. Improve readability.
Type any condition and see the result of the ternary operator. Understand truthy/falsy values. Quick learning tool.
Press any key to see the corresponding JavaScript event key, code, and keyCode. An essential debugging tool for front-end developers handling keyboard input.
Minify JavaScript and CSS code to reduce file size for production. Remove whitespace and comments instantly. Run locally, your code stays private.
Make your JavaScript code more readable with this online beautifier. Format and indent JS automatically. Works entirely in your browser, protecting your code privacy.