HTML to XML Converter - Online Markup Translator
Convert HTML code into well‑formed XML with proper self‑closing tags and attributes. Fixes common HTML5/XHTML mismatches. Local only.
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.Convert HTML code into well‑formed XML with proper self‑closing tags and attributes. Fixes common HTML5/XHTML mismatches. Local only.
Type text and get every character converted to &#xxxx; entities. Useful for encoding.
Paste text and instantly see every character's decimal and hex ASCII/Unicode code point. Supports emojis and symbols.
Strip leading line numbers from code snippets or poetry. Quick and accurate. Restore the original text. Entirely local processing, no data upload.
Convert normal text to Unicode mathematical bold, italic, script, fraktur, and double‑struck. Copy rich text for anywhere.
Drop an .xlsx file and convert each sheet to CSV. Processed entirely in your browser. No upload needed.
Convert CSV data to a real Excel spreadsheet with multiple sheets and simple formatting. Fully local.
Paste HTML and convert to plain text while preserving basic structure (paragraphs, list items). Removes all tags and images. Instant local processing.
Paste delimited data and split it into columns. Choose custom separator. Shows a preview table. Local.
Remove all line breaks and turn multi-line text into a single continuous string. Optionally replace line breaks with spaces. Fast and secure local tool.
Paste HTML and instantly remove all tags, leaving only the text content. Optional keep line breaks. Quick cleaning.
Step-by-step interactive assistant to adjust chair height, monitor distance, keyboard. Save back.
Create a custom chore chart for children with illustrations. Add tasks, assign points or stars. Print or save as PDF. Motivate responsibility.
Convert text between various cases: uppercase, lowercase, title case, sentence case, and more. One-click transformations without altering your original formatting style.
Paste a sentence and remove repeated words (keep first occurrence). For cleaning auto‑generated text. Local.
Drill opening names from their ECO codes. See a code and recall the opening. Improve your chess vocabulary.
Display an astigmatism dial and instructions for self-assessment. Educational, not a medical diagnosis.
Paste CSV data and pick which columns to keep or drop. Rearrange column order by dragging. Download the new file. All local.
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.
Convert nested JSON translation files into a flat CSV table for translators. Also reverse back. Local only.
Paste JavaScript and catch syntax errors instantly with line numbers. Lightweight pre‑commit check. Local.
Create and dispatch custom events with detail. Listen on other elements. Understand pub/sub pattern in vanilla JS.
Watch a simulation of how the JavaScript event loop handles synchronous code, microtasks, and macrotasks. Learn async.
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.
Apply a Proxy to an object and see the get/set traps log fired in real time. Understand metaprogramming. Local.
Paste your Accept‑Language header and see which languages your site should serve based on quality values. Internationalization helper.
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.