Text Decoration CSS Generator - Online Underline & Strike
Style underlines, overlines, and strike-throughs with colors, wavy styles, and thickness. Modern CSS text‑decoration.
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.
Style underlines, overlines, and strike-throughs with colors, wavy styles, and thickness. Modern CSS text‑decoration.
Create outlined text with the text‑stroke property. Adjust width and color. Preview and copy the CSS.
Build a complete font‑stack for your website. Choose a primary font and get the best fallback options for different OS. Copy the CSS.
Visually name grid areas in a table and generate grid‑template‑areas CSS. Perfect for complex layouts. Drag‑free.
Paste plain text and turn it into a nested outline using indent levels or Markdown headings. Great for planning.
Create a customizable scrolling marquee banner. Copy the HTML and CSS. For retro web projects or fun.
Select emojis and arrange them into a seamless tiling background. Copy the CSS data‑URI or download as image.
New CSS text‑spacing property for fine control over punctuation spacing. See the effect live. For advanced typography.
Create a rainbow gradient text animation using pure CSS. Customize speed and colors. Copy the code for your website.
Use named grid lines instead of column numbers. See how they simplify placement. Visual, interactive learning.
Create a 5‑star rating widget using only HTML and CSS. Customize colors and size. Copy the clean code.
Create glowing, neon‑style text effects with multiple text‑shadows. Adjust colors and intensity. Copy the CSS.
Paste your full CSS and HTML; automatically identify and extract the styles needed for the visible part. Reduce render‑blocking resources.
Create seamless CSS background patterns like stripes, polka dots, checkerboard. Adjust size and colors. Copy the tiny CSS.
Set up first‑line indentation and hanging punctuation. See how they affect reading flow. Copy the CSS.
Style the first letter of a paragraph as a large decorative drop cap. Choose font, color, and size. Get the CSS & HTML.
Encode a hidden message using zero‑width characters. The message looks like normal text. Decode with the same tool.
Define a set of colors for light and dark themes. Get the CSS custom properties snippet. Toggle live.
Create a repeating text pattern from a short string for watermarking documents or images. Download SVG pattern.
Type an abbreviation and its full form to get the proper `<abbr title='...'>` HTML. For accessible markup.
Apply the drop‑shadow() filter and compare it with box‑shadow. See how it follows the contour of transparent images. Copy code.
Compare break‑all, keep‑all, and overflow‑wrap: anywhere/break‑word. Paste long words and see how they wrap.
Toggle scrollbar‑gutter: stable to reserve space for the scrollbar and avoid content jumps. Visual demo with two columns.
Detect browser support for font‑tech() and font‑format() values in @font‑face src. Check COLRv1, variable, etc.
Beautify and format your CSS stylesheets instantly. Organize, minify, or prettify CSS code for better readability. Processed securely on client-side.
Build a date format string for SQL by toggling components (YYYY, MM, DD). See a live example for different databases.
Visually create the glassmorphism effect: background blur, transparency, and border. Copy the complete CSS. Modern UI design.
Toggle OpenType features like liga, smcp, tnum, and see the text update. Support for variable fonts. Typography nerds.
See how grid-auto-flow: row vs column changes item placement. Add and remove items to understand the algorithm. Visual.
Test different line‑break and word‑break values on Chinese/Japanese/Korean text. See how browsers wrap. Essential for i18n.