DIGIT ZERO vs LATIN CAPITAL LETTER O
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://unicodefyi.com/iframe/entity//" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://unicodefyi.com/entity//
Add a dynamic SVG badge to your README or docs.
[](https://unicodefyi.com/entity//)
Use the native HTML custom element.
copied1 = false, 2000)"
:class="copied1 ? 'border-green-400 bg-green-50 dark:bg-green-950' : ''">
0
DIGIT ZERO
U+0030
View details →
copied2 = false, 2000)"
:class="copied2 ? 'border-green-400 bg-green-50 dark:bg-green-950' : ''">
O
LATIN CAPITAL LETTER O
U+004F
View details →
VS
Property Comparison
| Property | 0 U+0030 | O U+004F |
|---|---|---|
| Name | DIGIT ZERO | LATIN CAPITAL LETTER O |
| Block | Basic Latin | Basic Latin |
| Script | Zyyy | Latn |
| Category | Decimal Number (Nd) | Uppercase Letter (Lu) |
| Bidirectional | EN | L |
Encoding Comparison
| Format | U+0030 | U+004F |
|---|---|---|
| unicode | U+0030 | U+004F |
| decimal | 48 | 79 |
| htmldecimal | 0 | O |
| htmlhex | 0 | O |
| css | \0030 | \004F |
| javascript | \u{30} | \u{4F} |
| python | \u0030 | \u004f |
| java | \u0030 | \u004F |
| go | \u0030 | \u004F |
| ruby | \u{30} | \u{4F} |
| rust | \u{30} | \u{4F} |
| ccpp | \u0030 | \u004f |
| urlencoded | 0 | O |
| utf8bytes | 30 | 4f |
| utf16bebytes | 00 30 | 00 4f |
| utf32bebytes | 00 00 00 30 | 00 00 00 4f |
How to Distinguish
Both characters are in the Basic Latin block but use different scripts: DIGIT ZERO uses Zyyy, while LATIN CAPITAL LETTER O uses Latn.
Tip: Paste the character into a hex editor or use
charCodeAt()
in JavaScript to check the actual codepoint.