CSS text-combine-upright Property
Description
The text-combine-upright property controls how adjacent glyphs are visually grouped when text is laid out upright in vertical writing. Its primary role is typographic: it lets short runs of characters (such as numbers, dates, or short abbreviations) be rendered as a compact unit that occupies the space of a single character box in the vertical flow, producing a tighter, more traditional vertical appearance instead of stacking each character separately. This makes vertical text blocks look more natural in East Asian typography and helps keep short sequences from breaking the rhythm and alignment of a line of vertical text.
Because this behavior is specific to vertical upright text, writing-mode and text-orientation settings determine when the combination can take effect: it only applies when characters are laid out upright rather than rotated sideways. In practice that means you get the intended combined appearance only in vertical writing modes with upright text orientation; with sideways orientation the browser can’t or won’t form the same compact glyph grouping. The property also interacts with layout metrics such as line box sizing and line-height, because a combined run is treated as a single typographic unit for spacing and line alignment, which can affect how adjacent lines and inline boxes are positioned.
From a content and accessibility perspective, using text-combine-upright is best reserved for short, typographically conventional sequences (dates, small numeric groups, short abbreviations). Combining characters can change selection, breakpoints, and how assistive technologies present the text, so provide clear markup and fallbacks where semantics matter (for example, use explicit spans, language tags, or aria-labels when the visual grouping would obscure the intended reading order). Also be mindful of font support: the visual result depends on available glyphs and the UA’s fallback behavior, so test with the target fonts to ensure combined glyphs render clearly and do not produce unexpected metrics or line-breaking behavior.
Definition
- Initial value
- none
- Applies to
- Non-replaced inline elements
- Inherited
- Yes
- Computed value
- Specified keyword
- Animatable
- No
- JavaScript syntax
- object.style.textCombineUpright
Interactive Demo
2023年12月8日から楽しい
Syntax
text-combine-upright: none | all | [ digits <integer>? ]
Values
- noneThere is no special processing.
- allAttempts to typeset all consecutive characters within the box horizontally, such that they take up the space of a single character within the vertical line of the box.
- digits <integer>Attempts to display a sequence of consecutive ASCII digits (U+0030–U+0039) that has as many or fewer characters than the specified integer, such that it takes up the space of a single character within the vertical line box. If the integer is omitted, it computes to 2. Integers outside the range of 2-4 are invalid.
Example
Browser Support
The following information will show you the current browser support for the CSS text-combine-upright property. Hover over a browser icon to see the version that first introduced support for this CSS property.
This property is supported by all modern browsers.
Desktop
Tablets & Mobile
Last updated by CSSPortal on: 1st January 2026
