Iconic
Iconic picks an icon for a short piece of text. You give it a note or a to-do, like "buy milk" or "call the dentist", and it returns the best-matching icons from the Phosphor set.
It runs on the device, is under 5 MB, and works in the 24 official EU languages. Made by Divergent Labs.
Use it
The SDKs bundle these files, so you don't have to download anything:
- Swift, for iOS and macOS: amsintelligence/swift-iconic
- JavaScript, for the browser and Node: amsintelligence/iconic-js
let iconic = try Iconic()
try iconic.predict("go for a swim")[0].icon // "swimming-pool"
What's in this repo
| File | What it is |
|---|---|
coreml/IconModel.mlpackage |
The model for Apple platforms (iOS 18+, macOS 15+) |
js/weights.bin, js/manifest.json |
The same model for the browser and Node |
tokenizer.json |
Splits text into tokens |
config.json |
Input sizes and settings the SDKs need |
eval_results.json |
Test scores, per language |
How it works
The model returns one of 798 icon groups rather than a single icon. Phosphor has many near-identical icons (the same arrow pointing four ways, the same file in different formats), so those are grouped together and each group has a default icon.
It reads text in two ways at once. One looks at spelling, so typos and compound words still match. The other looks at meaning, so the same idea in another language lands on the same icon.
How well it works
On a held-out test set of real, short requests in 16 languages, the right icon is in the top 3 about 81% of the time. English scores highest at 85%. The other 15 languages sit between 79% and 84%. Eight languages (Bulgarian, Croatian, Czech, Estonian, Irish, Lithuanian, Maltese, Slovak) have no test data, so their quality is unmeasured.
Limits
- It is built for short notes and to-dos, not long text. The training data and the test set both consist of to-do items and short requests, so the scores above only describe that kind of text. On other text, such as headings, product names, chat messages or longer sentences, it may perform worse than the numbers here suggest.
- It only knows Phosphor icons.
- When nothing fits well, it still returns its best guess. Check the score if that matters for you.
Training data and licences
- Phosphor icon catalogue (MIT)
- Unicode CLDR emoji names and keywords, for words in every language (Unicode licence)
- MASSIVE 1.1 by Amazon, for real example text (CC BY 4.0)
- potion-multilingual-128M by Minish Lab, for word meaning (MIT)
- Synthetic examples written and checked by open-weights models (Apache 2.0)
The model is released under the Apache 2.0 licence.
- Downloads last month
- 11