<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/i-rendered-1-418-unicode-confusable-pairs-across-230-fonts-most-aren-t-confusable-to-the-eye--9tc3tpp5r" -->

---
title: I rendered 1,418 Unicode confusable pairs across 230...
description: A developer built confusable-vision, a tool that renders all 1,418 Unicode TR39 confusable pairs across 230 macOS system fonts and measures visual similarity...
canonical: https://daily.dev/posts/i-rendered-1-418-unicode-confusable-pairs-across-230-fonts-most-aren-t-confusable-to-the-eye--9tc3tpp5r
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I rendered 1,418 Unicode confusable pairs across 230 fonts. Most aren&#x27;t confusable to the eye. | daily.dev
og:description: A developer built confusable-vision, a tool that renders all 1,418 Unicode TR39 confusable pairs across 230 macOS system fonts and measures visual similarity...
og:url: https://daily.dev/posts/i-rendered-1-418-unicode-confusable-pairs-across-230-fonts-most-aren-t-confusable-to-the-eye--9tc3tpp5r
og:image: https://api.daily.dev/og/posts/9TC3Tpp5R.png
og:image:alt: I rendered 1,418 Unicode confusable pairs across 230 fonts. Most aren&#x27;t confusable to the eye.
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I rendered 1,418 Unicode confusable pairs across 230 fonts. Most aren't confusable to the eye.

**[Hacker News](https://daily.dev/sources/hn)** · 13 min read · 0 upvotes · 0 comments

## Summary

A developer built confusable-vision, a tool that renders all 1,418 Unicode TR39 confusable pairs across 230 macOS system fonts and measures visual similarity using SSIM. Key findings: 96.5% of confusables.txt entries are not visually high-risk, but 82 pairs are pixel-identical in at least one font. Core Cyrillic homoglyphs (а, е, о, р, с, у, х) are pixel-identical to their Latin counterparts in 35-46 fonts including Arial, Georgia, and Verdana. The analysis reveals that confusable risk is font-dependent, not just character-pair-dependent. Fonts like Phosphate and Copperplate have 67%+ danger rates, while Zapfino has 0%. The tool uses SSIM over CNN-based approaches for determinism and reproducibility. Practical implications include browser font fallback determining spoofing risk, address bars being vulnerable to Cyrillic homograph attacks, and the need for per-script thresholds in confusable detection systems rather than binary membership checks.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://paultendo.github.io/posts/confusable-vision-visual-similarity/>

## Similar posts on daily.dev

- [confusables.txt and NFKC disagree on 31 characters](https://daily.dev/posts/confusables-txt-and-nfkc-disagree-on-31-characters-qxiubcbi1) · Lobsters · 1 upvotes · 0 comments
- [Same Look, Different Code: The Technical Reality Behind Homoglyph Attacks](https://daily.dev/posts/same-look-different-code-the-technical-reality-behind-homoglyph-attacks-y0zjzlc1m) · Security Boulevard · 0 upvotes · 0 comments

---

[View this post on daily.dev](https://daily.dev/posts/i-rendered-1-418-unicode-confusable-pairs-across-230-fonts-most-aren-t-confusable-to-the-eye--9tc3tpp5r)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"I rendered 1,418 Unicode confusable pairs across 230 fonts. Most aren't confusable to the eye.","url":"https://daily.dev/posts/i-rendered-1-418-unicode-confusable-pairs-across-230-fonts-most-aren-t-confusable-to-the-eye--9tc3tpp5r","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/i-rendered-1-418-unicode-confusable-pairs-across-230-fonts-most-aren-t-confusable-to-the-eye--9tc3tpp5r"},"datePublished":"2026-02-27T13:33:07.079Z","dateModified":"2026-02-27T13:33:32.987Z","description":"A developer built confusable-vision, a tool that renders all 1,418 Unicode TR39 confusable pairs across 230 macOS system fonts and measures visual similarity...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1db58acba6c38ab18dff05f5d67c0ed6?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1db58acba6c38ab18dff05f5d67c0ed6?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/i-rendered-1-418-unicode-confusable-pairs-across-230-fonts-most-aren-t-confusable-to-the-eye--9tc3tpp5r","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"I rendered 1,418 Unicode confusable pairs across 230 fonts. Most aren't confusable to the eye."}]}
```

