HTML to Text with Line Breaks - Online Just the Words
Convert HTML to plain text while preserving paragraph breaks. Remove images, links, and scripts. Quick data extraction.
UD5 Toolkit
Generate CSS writing-mode styles with live preview. Perfect for CJK vertical typesetting, creative layouts, and multilingual design.
Container boundary shown with dashed border. In vertical modes, height limits column length; text flows into new columns automatically.
writing-mode controls the direction in which text flows within a block. It's essential for vertical typesetting—especially for East Asian languages like Chinese, Japanese, and Korean (CJK)—where text traditionally flows top-to-bottom in columns. Beyond CJK, it enables creative layouts, narrow sidebar labels, and unique design patterns. The three primary values are horizontal-tb (default, top-to-bottom), vertical-rl (columns flow right-to-left), and vertical-lr (columns flow left-to-right). Modern browsers including Chrome, Firefox, Safari, and Edge all support it with excellent compatibility.
vertical-rl (Right-to-Left): New columns appear to the left of existing ones. This matches traditional Chinese and Japanese book layout—readers start at the rightmost column and move leftward. vertical-lr (Left-to-Right): New columns appear to the right of existing ones. This is used for Mongolian script and some modern designs. For Chinese/Japanese/Korean vertical text, vertical-rl is the culturally authentic choice.
text-orientation only applies when writing-mode is vertical. It controls how individual characters are displayed:mixed (default): CJK characters stay upright; Latin letters and numbers rotate 90° sideways. This is the standard for mixed-script vertical text.upright: All characters remain upright, including Latin letters. Each letter stands individually, which works for acronyms and short English words in vertical layout.sideways: All characters rotate 90°, including CJK. Entire text appears "lying down." Rarely used for body text but useful for specific design effects.
writing-mode is supported in all modern browsers (Chrome 48+, Firefox 41+, Safari 10.1+, Edge 79+). For older IE, use the legacy -ms-writing-mode prefix with values tb-rl or bt-lr. A robust fallback: serve horizontal text as default and enhance to vertical for capable browsers using @supports (writing-mode: vertical-rl). For critical content, ensure readability in horizontal fallback—don't rely solely on vertical layout for meaning.
text-orientation: mixed will have each word rotated 90°—readable but unusual for Western audiences. With text-orientation: upright, each Latin letter stands vertically, which works for short labels, navigation elements, or artistic headings. For body-length English text, vertical layout is generally not recommended for readability. Vertical text shines for CJK content and creative accent elements in Western design.
vertical-rl, to the right in vertical-lr). This is the natural behavior of vertical writing modes—no extra CSS columns property needed. The container's width then determines how many columns fit horizontally. For finer control, you can also combine with column-width or column-count, though native vertical flow usually suffices.
direction: rtl can flip the inline text direction within each line/column. With vertical-rl, adding direction: rtl can affect how inline elements and punctuation are positioned. However, for most vertical CJK layouts, the default direction: ltr works correctly with vertical-rl. The writing-mode property handles the major flow change; direction fine-tunes inline positioning. Test thoroughly when combining them.
writing-mode correctly in modern browsers, reading CJK characters in the proper column order. However, ensure: (1) The DOM order matches logical reading order, (2) Provide horizontal fallback for users who may struggle with vertical layout, (3) Avoid using vertical text for critical navigation or instructions unless culturally appropriate, (4) Test with actual assistive technology. For decorative vertical text, use aria-hidden="true" to avoid confusion.
margin-block-start, padding-inline-end etc. automatically adapt to the writing mode—these are recommended for writing-mode-agnostic layouts. For most practical use, standard padding works intuitively: it creates space between the text and the container edges regardless of writing direction.
Convert HTML to plain text while preserving paragraph breaks. Remove images, links, and scripts. Quick data extraction.
Assign a CSS class to any emoji and generate a snippet that displays the emoji as a background image or pseudo element. Useful for icon systems.
Draw and edit SVG vector graphics in the browser. Basic shapes, text, and freehand. Export raw SVG code or as a file. No server, fully local.
Create smooth, animated CSS waves (like water or sound) by adjusting amplitude, colors, and speed. Copy the ready‑to‑use SVG/CSS code.
Create a 'drawing' effect for any SVG path. Adjust speed and delay. Copy the CSS and SVG code. No JS needed.
Upload multiple SVGs and combine them into a single icon font (TTF, WOFF). Also get the CSS classes. Client‑side conversion.
Paste an HTML snippet and convert it into an SVG image that visually replicates the DOM. Useful for creating static snapshots. Local canvas rendering.
Transform normal sentences into cutesy UwU speak. Customizable intensity. Internet fun.
Convert between emoji characters and their shortcode representations (e.g., :tada: to 🎉). Supports Slack and GitHub styles.
Encrypt and decrypt text using the browser's Web Crypto API. Supports AES‑GCM and subtle key generation. No server required.
Turn every line of a text file into a separate JSON object in a JSONL file. Configure key name and add line numbers. Perfect for data importing.
Create a realistic fake text message conversation. Choose iOS or Android style, set contact name, messages, and times. For laughs.
Create a fake WhatsApp/iMessage chat screenshot. Customize names, messages, and timestamps. Just for fun.
Convert standard Markdown into Slack’s mrkdwn format. Fixes bold, italic, and lists for perfect Slack message formatting.
Map CSV columns with latitude/longitude to GeoJSON points. Create map‑ready data instantly. All local.
Sign a message with a private key and verify the signature with the public key. Learn digital signature flow.
Parse an SVG path’s d attribute and list all the commands and absolute coordinates. Convert relative to absolute. Local.
Use your webcam to record a video clip and download it as WebM. Adjust resolution. Works offline. Privacy‑friendly.
Use your webcam to record a video clip and download it as WebM. Adjust resolution and see a preview. Works offline.
Attempt to detect your current DNS resolver IPs using DNS‑leak test queries. Educational. Privacy‑friendly.
Extract a few seconds from a video and convert to a short looping GIF. Use browser video decoder.
Paste a data: URL and instantly download the file it represents. Supports all MIME types. Simple extraction.
Visually configure scroll‑snap containers and items. Adjust alignment, stop behavior, and padding. Copy the clean CSS instantly.
Generate the MD5 hash of any text string. For quick integrity checks. All local computation.
Create complex linear gradients with any number of color stops, exact angles, and length units. Live preview and CSS code.
Format a list of Q&A pairs and export as a CSV ready for Anki import. Simple line‑based template. Local.
Style underlines, overlines, and strike-throughs with colors, wavy styles, and thickness. Modern CSS text‑decoration.
Generate a random medieval occupation with a short description. For NPCs or historical curiosity. Local list.
Design a fully styled scrollbar with colors, width, radius, and hover effects. Supports both ::-webkit‑scrollbar and Firefox scrollbar‑width.
Create a realistic letterpress (debossed) text effect using CSS text‑shadow and background. Adjust depth and light direction. Copy code.