Back
Asciify Logo
Asciify

Latin Small Letter O

Sharing its circular form with the digit zero — an overlap that has influenced typographic conventions in technical and computing contexts for decades — lowercase 'o' is the fifteenth letter of the Latin alphabet and a mid-back rounded vowel accounting for roughly 7.5 % of characters in typical English corpora. It plays a distinctive role in programming as the letter behind octal notation prefixes and format specifiers. Its ASCII code point is 111 (0x6F), 32 above its uppercase counterpart 'O' at 79 (0x4F), maintaining the single-bit case offset (bit 5) shared by all ASCII A–Z / a–z pairs.

Latin Letter

Technical Details

Code Example

</>
// Big O complexity comments
// O(1) - constant: array access
// O(n) - linear: single loop
// O(n log n) - sorted: merge sort
// O(n²) - quadratic: nested loops

Common Usage

  • Octal notation: In C-family printf-style formatting, %o outputs an unsigned integer in octal representation. For octal literals, C uses a leading zero prefix (0777), while Python 3, JavaScript (ES6+), and Rust adopted the explicit 0o prefix (0o777) specifically to reduce confusion with decimal numbers — the ambiguous leading-zero syntax having been a persistent source of silent bugs in codebases that parse numeric input.

  • O/0 visual disambiguation: The near-identical appearance of 'o' and the digit '0' in many typefaces prompted the widespread adoption of the slashed zero and dotted zero in programming fonts, terminal displays, and aviation typography. Python's PEP 8, for instance, explicitly discourages uppercase 'O' as a single-character variable name for this reason, and programming-oriented fonts like Fira Code and JetBrains Mono take care to separate the two glyphs clearly.

  • Phonetic range: In English alone, 'o' maps to an unusually wide spread of vowel sounds — /ɒ/ in 'hot', /oʊ/ in 'go', /ʌ/ in 'son', /uː/ in 'do', /ɜː/ in 'word' — making it one of the more phonetically unpredictable vowels for learners of English and a frequent subject in phonics and ESL instruction.

  • Diacritical variants: As a vowel, 'o' supports a broad family of accented forms — ó (acute), ò (grave), ô (circumflex), ö (diaeresis), ő (double acute), õ (tilde), ō (macron), ọ (dot below), and ø (stroke). Of these, ø functions as a distinct letter in Danish and Norwegian rather than an accented variant, and ö is a separate letter in Swedish, Finnish, and Turkish alphabets.

  • Octal notation: In C-family printf-style formatting, %o outputs an unsigned integer in octal representation. For octal literals, C uses a leading zero prefix (0777), while Python 3, JavaScript (ES6+), and Rust adopted the explicit 0o prefix (0o777) specifically to reduce confusion with decimal numbers — the ambiguous leading-zero syntax having been a persistent source of silent bugs in codebases that parse numeric input.

  • O/0 visual disambiguation: The near-identical appearance of 'o' and the digit '0' in many typefaces prompted the widespread adoption of the slashed zero and dotted zero in programming fonts, terminal displays, and aviation typography. Python's PEP 8, for instance, explicitly discourages uppercase 'O' as a single-character variable name for this reason, and programming-oriented fonts like Fira Code and JetBrains Mono take care to separate the two glyphs clearly.

  • Phonetic range: In English alone, 'o' maps to an unusually wide spread of vowel sounds — /ɒ/ in 'hot', /oʊ/ in 'go', /ʌ/ in 'son', /uː/ in 'do', /ɜː/ in 'word' — making it one of the more phonetically unpredictable vowels for learners of English and a frequent subject in phonics and ESL instruction.

  • Diacritical variants: As a vowel, 'o' supports a broad family of accented forms — ó (acute), ò (grave), ô (circumflex), ö (diaeresis), ő (double acute), õ (tilde), ō (macron), ọ (dot below), and ø (stroke). Of these, ø functions as a distinct letter in Danish and Norwegian rather than an accented variant, and ö is a separate letter in Swedish, Finnish, and Turkish alphabets.

@workani&@alexluthor
Privacy & legal

Privacy

No accounts, no ads, no tracking cookies, and no cross-site tracking. The only analytics we keep are faceless — anonymous, aggregated counts of pages and searches, never tied to you. We store no IP addresses, set no tracking cookies, and build no profiles. Cloudflare hosts the site and handles requests for delivery and security.

Full privacy policy·Extension privacy·legal@asciify.dev

Attributions & licenses

Twemoji
© Twitter, Inc and other contributors · CC-BY 4.0
Noto Color Emoji
© Google · Apache 2.0
Fluent UI Emoji
© Microsoft · MIT
OpenMoji
© HfG Schwäbisch Gmünd · CC-BY-SA 4.0
Toss Face
© Viva Republica (Toss) · SIL OFL 1.1
JoyPixels
© JoyPixels Inc. · Free Limited Use License
SerenityOS Emoji
© The SerenityOS Developers · BSD-2-Clause
EmojiTwo
© EmojiTwo contributors · CC-BY 4.0
Apple Color Emoji
© Apple, Inc.
Facebook Emoji
© Meta Platforms, Inc.

Apple and Facebook emoji styles are proprietary and shown here solely for reference and comparison — a common-sense application of nominative-use / fair-use principles. asciify is not affiliated with, endorsed by, or sponsored by Apple, Inc., Meta Platforms, Inc., or any other rights holder listed above. If a rights holder requests removal of their emoji style from this site, it will be removed.

All other vendor emoji are reproduced for reference and comparison under their respective open licenses listed above.

Character names and code points from the Unicode® Standard. Unicode® and the Unicode Logo are registered trademarks of Unicode, Inc.

Privacy
© asciify.dev 2025-2026