Fraction Symbols Guide
Unicode includes precomposed fraction characters for common fractions like ½ ¼ ¾ ⅓ and many others, allowing fractions to be typed as single characters without markup. This guide lists all Unicode fraction characters with their code points, decimal values, and tips on when to use them versus HTML markup.
Fractions are a fundamental part of mathematical and everyday writing, yet typing them on a computer has always been awkward. Unicode solves this by providing precomposed fraction characters — single code points that render as properly formatted fractions like 1/2 or 3/4 — alongside the fraction slash character that enables the creation of arbitrary fractions. This guide catalogs every Unicode fraction character, explains the difference between the fraction slash and the regular solidus, and provides practical guidance for using fractions in HTML, CSS, and programming.
The Problem with Typed Fractions
When you type 1/2 on a keyboard, you are actually typing three separate characters:
the digit 1, the solidus (/), and the digit 2. This looks passable in monospaced text
but renders poorly in proportional fonts — the digits are full-size, the slash is a
regular solidus, and the result is clearly not a proper fraction.
Compare:
| Representation | Appearance | Method |
|---|---|---|
| 1/2 | Three characters: 1, /, 2 | Keyboard typing |
| 1/2 | <sup>1</sup>/<sub>2</sub> |
HTML markup |
| 1/2 | OpenType fraction feature | Font rendering |
| ½ | U+00BD | Unicode precomposed |
The Unicode precomposed fraction ½ is a single character that renders as a properly typeset fraction in any font that supports it. No markup, no font features, no special rendering — just one code point.
Precomposed Vulgar Fractions
Unicode defines precomposed fraction characters in two blocks. The term vulgar fraction refers to a common fraction written with a numerator above (or before) a denominator, as opposed to a decimal fraction.
Latin-1 Supplement Fractions
These three fractions were present in the original Latin-1 (ISO 8859-1) character set and have the broadest support:
| Character | Code Point | Name | Value |
|---|---|---|---|
| ¼ | U+00BC | VULGAR FRACTION ONE QUARTER | 0.25 |
| ½ | U+00BD | VULGAR FRACTION ONE HALF | 0.5 |
| ¾ | U+00BE | VULGAR FRACTION THREE QUARTERS | 0.75 |
Number Forms Block Fractions
The Number Forms block (U+2150-U+218F) contains additional precomposed fractions:
| Character | Code Point | Name | Value |
|---|---|---|---|
| ⅐ | U+2150 | VULGAR FRACTION ONE SEVENTH | 0.142857... |
| ⅑ | U+2151 | VULGAR FRACTION ONE NINTH | 0.111... |
| ⅒ | U+2152 | VULGAR FRACTION ONE TENTH | 0.1 |
| ⅓ | U+2153 | VULGAR FRACTION ONE THIRD | 0.333... |
| ⅔ | U+2154 | VULGAR FRACTION TWO THIRDS | 0.666... |
| ⅕ | U+2155 | VULGAR FRACTION ONE FIFTH | 0.2 |
| ⅖ | U+2156 | VULGAR FRACTION TWO FIFTHS | 0.4 |
| ⅗ | U+2157 | VULGAR FRACTION THREE FIFTHS | 0.6 |
| ⅘ | U+2158 | VULGAR FRACTION FOUR FIFTHS | 0.8 |
| ⅙ | U+2159 | VULGAR FRACTION ONE SIXTH | 0.166... |
| ⅚ | U+215A | VULGAR FRACTION FIVE SIXTHS | 0.833... |
| ⅛ | U+215B | VULGAR FRACTION ONE EIGHTH | 0.125 |
| ⅜ | U+215C | VULGAR FRACTION THREE EIGHTHS | 0.375 |
| ⅝ | U+215D | VULGAR FRACTION FIVE EIGHTHS | 0.625 |
| ⅞ | U+215E | VULGAR FRACTION SEVEN EIGHTHS | 0.875 |
| ↉ | U+2189 | VULGAR FRACTION ZERO THIRDS | 0 |
That gives us a total of 20 precomposed fraction characters in Unicode.
The Fraction Slash (U+2044)
Not every fraction has a precomposed form. For arbitrary fractions like 5/16 or 7/32, Unicode provides the FRACTION SLASH character:
| Character | Code Point | Name |
|---|---|---|
| ⁄ | U+2044 | FRACTION SLASH |
The fraction slash differs from the regular solidus (/) in a critical way: it signals
to the rendering engine that the digits before it should be treated as a numerator and
the digits after it as a denominator. OpenType-capable fonts with the frac feature
will automatically render 5⁄16 as a proper fraction.
Three Slashes Compared
| Character | Code Point | Name | Purpose |
|---|---|---|---|
| / | U+002F | SOLIDUS | General-purpose slash |
| ⁄ | U+2044 | FRACTION SLASH | Fraction composition |
| ∕ | U+2215 | DIVISION SLASH | Mathematical division operator |
In Python, you can test the difference:
import unicodedata
solidus = "/"
fraction_slash = "\u2044"
division_slash = "\u2215"
print(unicodedata.name(solidus)) # SOLIDUS
print(unicodedata.name(fraction_slash)) # FRACTION SLASH
print(unicodedata.name(division_slash)) # DIVISION SLASH
Building Custom Fractions with Superscripts and Subscripts
For fractions without precomposed forms, you can combine Unicode superscript digits, the fraction slash, and subscript digits:
5⁄16 = superscript-5 + fraction-slash + subscript-1 + subscript-6
The relevant superscript and subscript characters:
| Superscript | Code Point | Subscript | Code Point |
|---|---|---|---|
| ⁰ | U+2070 | ₀ | U+2080 |
| ¹ | U+00B9 | ₁ | U+2081 |
| ² | U+00B2 | ₂ | U+2082 |
| ³ | U+00B3 | ₃ | U+2083 |
| ⁴ | U+2074 | ₄ | U+2084 |
| ⁵ | U+2075 | ₅ | U+2085 |
| ⁶ | U+2076 | ₆ | U+2086 |
| ⁷ | U+2077 | ₇ | U+2087 |
| ⁸ | U+2078 | ₈ | U+2088 |
| ⁹ | U+2079 | ₉ | U+2089 |
So to compose the fraction 5/16 using pure Unicode:
# Building 5/16 as a Unicode fraction
fraction = "\u2075\u2044\u2081\u2086"
print(fraction) # ⁵⁄₁₆
Using Fractions in HTML
HTML provides several approaches to displaying fractions:
Named HTML Entities
| Character | Entity | Numeric |
|---|---|---|
| ¼ | ¼ |
¼ |
| ½ | ½ |
½ |
| ¾ | ¾ |
¾ |
| ⅓ | — | ⅓ |
| ⅔ | — | ⅔ |
| ⅛ | ⅛ |
⅛ |
| ⅜ | ⅜ |
⅜ |
| ⅝ | ⅝ |
⅝ |
| ⅞ | ⅞ |
⅞ |
CSS font-variant-numeric
Modern CSS provides the font-variant-numeric property with a diagonal-fractions
or stacked-fractions value that automatically renders digit-slash-digit sequences as
proper fractions:
.fractions {
font-variant-numeric: diagonal-fractions;
}
With this CSS, any text like 1/2 or 3/4 within an element with the .fractions
class will render as a typographically correct fraction, provided the font supports
the OpenType frac feature.
Fractions in Python
Python's unicodedata module can extract the numeric value of fraction characters:
import unicodedata
fractions = "¼½¾⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅐⅑⅒"
for char in fractions:
value = unicodedata.numeric(char)
name = unicodedata.name(char)
print(f"{char} U+{ord(char):04X} = {value:.6f} {name}")
This outputs the actual numeric value associated with each fraction character, which can be useful for text processing and mathematical computation.
When to Use Which Approach
| Scenario | Recommended Approach |
|---|---|
| Plain text (email, SMS, chat) | Precomposed fractions (½, ¼, ¾) |
| Markdown / plain documents | Precomposed where available, x/y otherwise |
| Web pages (HTML/CSS) | Precomposed for common fractions, font-variant-numeric for arbitrary |
| Math notation | MathML or LaTeX (\frac{a}{b}) |
| Programming | Regular digits and solidus (1/2) for computation |
| Recipes and measurements | Precomposed fractions for readability |
| Accessibility | Precomposed fractions; screen readers pronounce ½ as "one half" |
Accessibility Considerations
Screen readers handle precomposed fraction characters well. Most screen readers will
announce ½ as "one half", ¾ as "three quarters", and ⅓ as "one third". This is
a significant advantage over the alternative 1/2 (which might be read as "one
slash two") or HTML <sup>1</sup>/<sub>2</sub> (which might be read as
"superscript one slash subscript two").
For accessibility, precomposed Unicode fractions are the best option whenever the needed fraction exists in Unicode.
Summary
Unicode provides 20 precomposed vulgar fraction characters that cover the most
common fractions used in everyday text. For arbitrary fractions, the fraction slash
(U+2044) combined with superscript and subscript digits enables typographically
correct rendering. On the web, the CSS font-variant-numeric: diagonal-fractions
property provides automatic fraction formatting. Choosing the right approach
depends on the medium — plain text, web, print, or code — but in all cases, Unicode
fractions offer better readability, accessibility, and semantic correctness than
improvised digit-slash-digit sequences.
More in Symbol Reference
Unicode contains hundreds of arrow symbols spanning simple directional arrows, double arrows, …
Unicode provides multiple check mark and tick symbols ranging from the classic …
Unicode includes a rich collection of star shapes — from the simple …
Unicode contains dozens of heart symbols including the classic ♥, black and …
Unicode's Currency Symbols block and surrounding areas contain dedicated characters for over …
Unicode has dedicated blocks for mathematical operators, arrows, letterlike symbols, and alphanumeric …
Beyond the ASCII parentheses and square brackets, Unicode includes angle brackets, curly …
Unicode offers a wide variety of bullet point characters beyond the standard …
Unicode's Box Drawing block contains 128 characters for drawing lines, corners, intersections, …
Unicode includes musical note symbols such as ♩♪♫♬ in the Miscellaneous Symbols …
Unicode provides precomposed superscript and subscript digits and letters — such as …
Unicode contains dozens of circle symbols including filled circles, outlined circles, circles …
Unicode includes filled squares, outlined squares, small squares, medium squares, dashed squares, …
Unicode provides a comprehensive set of triangle symbols in all orientations — …
Unicode includes filled and outline diamond shapes, lozenge characters, and playing card …
Unicode provides various cross and X mark characters including the heavy ballot …
The hyphen-minus on your keyboard is just one of Unicode's many dash …
Unicode defines typographic quotation marks — curly quotes — for dozens of …
Unicode includes dedicated characters for the copyright symbol ©, registered trademark ®, …
The degree symbol ° (U+00B0) and dedicated Celsius ℃ and Fahrenheit ℉ …
Unicode's Enclosed Alphanumerics block provides circled numbers ①②③, parenthesized numbers ⑴⑵⑶, and …
Unicode includes a Number Forms block with precomposed Roman numeral characters such …
Greek letters like α β γ δ π Σ Ω are widely …
The Unicode Dingbats block (U+2700–U+27BF) contains 192 decorative symbols originally from the …
Unicode includes a Playing Cards block with characters for all 52 standard …
Unicode provides characters for all six chess piece types in both white …
Unicode's Miscellaneous Symbols block includes the 12 zodiac signs ♈♉♊♋♌♍♎♏♐♑♒♓, planetary symbols, …
Unicode's Braille Patterns block (U+2800–U+28FF) encodes all 256 possible combinations of the …
Unicode's Geometric Shapes block contains 96 characters covering circles, squares, triangles, diamonds, …
The Unicode Letterlike Symbols block contains mathematical and technical symbols derived from …
Unicode's Miscellaneous Technical block contains symbols from computing, electronics, and engineering, including …
Diacritics are accent marks and other marks that attach to letters to …
Unicode defines dozens of invisible characters beyond the ordinary space, including zero-width …
Unicode includes warning and hazard symbols such as the universal caution ⚠ …
Unicode's Miscellaneous Symbols block includes sun ☀, cloud ☁, rain ☂, snow …
Unicode includes symbols for many of the world's major religions including the …
Unicode includes the traditional male ♂ and female ♀ symbols from astronomy, …
Apple's macOS uses Unicode characters for keyboard modifier keys such as ⌘ …
Unicode symbols like ▶ ◀ ► ★ ✦ ⚡ ✈ and hundreds …