CoolFace
Modelpublic

desert-ant-labs/emo

sourceHugging Faceotherupdated 1h agoView on Hugging Face
6likes27kdownloads
Model Card

<!-- card-header:start (generated from manifest.json, edit below this block) -->

Emo

Suggest emoji faster than you can type.

Multilingual on-device emoji suggestion.

  • SDKs, install and examples: https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/docs/models/emo.md
  • Website: https://desertant.com/models/emo/

<!-- card-header:end -->

Type a word or a sentence and get the emoji that fits. Tuned for to-dos, calendar entries, notes, and message drafts across 22 languages (including CJK, Arabic, Thai, Hindi, and more). The whole thing, model and tokenizer, is small (5MB on Apple via Core ML, 11MB via LiteRT elsewhere) and runs in well under 2ms on device.

"Dentist appointment" → 🦷 · "réserver un vol pour Tokyo" → ✈️ · "犬の散歩" → 🐕 · "จองโรงแรม" → 🏨

Try it

<!-- card-install:start (generated from manifest.json, edit below this block) --> | | | | --- | --- | | Platforms | iOS, macOS, tvOS, visionOS, Android, Linux, Windows, Browser, Node | | Languages | 22 | | Weights | v0.7.0 |

Install

Swift (requirements)

swift
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core.git", from: "3.3.0")

Then add the Emo product to your target.

Kotlin (requirements)

kotlin
implementation("ai.desertant:emo:3.3.0")

JavaScript (requirements)

bash
npm i @desert-ant-labs/emo @litertjs/core   # browser
npm i @desert-ant-labs/emo                  # Node, prebuilt native core

<!-- card-install:end -->

Files

FileFormatSizeContents
emo.tfliteLiteRT / TFLite (int8)10.2MBRuns on Android, Linux, Node, and the web (bundled by default in the Kotlin SDK; downloaded on demand by the JavaScript SDK)
emo.mlmodelcCompiled Core ML4.6MBReady to load on Apple platforms (used by the Swift SDK)
emo_tokenizer.binUnigram tokenizer750KBTokenizer the runtime needs
emo_meta.jsonJSONtinyEmoji labels and runtime config

Older revisions (tags v0.6.0 and earlier) carry Emo.mlmodelc and emo.safetensors for SDK versions that predate the unified cross-platform migration.

Inputs and outputs

  • Input: a plain text string. Best on short, intent-oriented text.
  • Output: a probability distribution over the 812-emoji vocabulary; take the top-1 (or top-k). Optimized for top-1 relevance.

Languages

English, Spanish, Portuguese, French, German, Italian, Dutch, Russian, Polish, Turkish, Arabic, Chinese (Simplified & Traditional), Japanese, Korean, Hindi, Indonesian, Thai, Vietnamese, Ukrainian, Swedish, Danish, Czech.

Limitations

  • Tuned for short, intent-oriented text; long-form text produces noisier suggestions.
  • Emoji semantics are imprecise; near-ties at the top of the ranking are expected.
  • Per-language quality varies; lower-resource languages in the set are somewhat weaker.

<!-- card-footer:start (generated from manifest.json, edit above this block) -->

License

Desert Ant Labs Source-Available License. Free for most apps, and a commercial license is required at scale. Full terms are at the link. Licensing: <licensing@desertant.com>.

See `THIRD_PARTY_NOTICES.md`.

Citation

bibtex
@software{emo_2026,
  title  = {Emo: Multilingual on-device emoji suggestion},
  author = {Desert Ant Labs},
  year   = {2026},
  url    = {https://huggingface.co/desert-ant-labs/emo},
}

© 2026 Desert Ant Labs · <https://desertant.com> <!-- card-footer:end -->