EmojiKit lets you use emoji-based features on all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).
EmojiKit supports emojis, categories, unicode versions, localization, skin tones, etc. and has convenient SwiftUI components like EmojiGrid and EmojiScrollGrid.
EmojiKit can be installed with the Swift Package Manager:
https://github.com/danielsaidi/EmojiKit.git
You can become a sponsor to help me dedicate more time on my various open-source tools. Every contribution, no matter the size, makes a real difference in keeping these tools free and actively developed.
EmojiKit provides a bunch of emoji-specific features:
- 😀 Emojis - An emoji model with many features.
- 🐻 Emoji Categories - Standard and custom emoji categories.
- 📦 Emoji Versions - All available emoji versions and their emojis.
- 🧩 Extensions - Emoji-related native type extensions.
- 👍🏾 Skin Tones - Skin tone information for supported emojis.
- 🖼️ Views - Emoji-specific views, like grids and pickers.
See the online documentation for more information.
EmojiKit is localized in the following languages:
- 🇨🇳 Chinese (Simplified)
- 🇬🇧 English
- 🇳🇱 Dutch
- 🇫🇷 French
- 🇩🇪 German
- 🇮🇹 Italian
- 🇯🇵 Japanese
- 🇰🇷 Korean
- 🇧🇷 Portuguese (Brazil)
- 🇷🇺 Russian
- 🇪🇸 Spanish
- 🇸🇪 Swedish
You can contribute by copying Sources/Resources/en.lproj and localizing it in another language.
The Emoji model can be used to parse a bunch of emoji-specific information, for instance:
Emoji("👍").unicodeIdentifier // \\N{THUMBS UP SIGN}
Emoji("🚀").unicodeIdentifier // \\N{ROCKET}
Emoji("👍").unicodeName // Thumbs Up Sign
Emoji("👍🏿").unicodeName // Thumbs Up Sign
Emoji("🚀").unicodeName // Rocket
Emoji("😀").localizedName // Grinning Face
Emoji("😀").localizedName(in: .swedish) // Leende Ansikte
Emoji("👍").hasSkinToneVariants // true
Emoji("🚀").hasSkinToneVariants // false
Emoji("👍🏿").neutralSkinToneVariant // 👍
Emoji("👍").skinToneVariants // 👍👍🏻👍🏼👍🏽👍🏾👍🏿The EmojiCategory enum defines standard and custom categories and their emojis, for instance:
EmojiCategory.smileysAndPeopleChars.emojis // 😀😃😄...
EmojiCategory.animalsAndNatureChars.emojis // 🐶🐱🐭...
EmojiCategory.foodAndDrinkChars.emojis // 🍏🍎🍐...The EmojiVersion enum defines Emoji versions and the emojis they introduced, for instance:
EmojiVersion.v15_1.emojis // 🙂↕️🙂↔️👩🦽➡️...
EmojiVersion.v15.emojis // 🫨🫸🫷
EmojiVersion.v14.emojis // 🫠🫢🫣See the online documentation for more information.
The online documentation has more information, articles, code examples, etc.
The Demo folder has a demo app that lets you explore the library and its components.
Feel free to reach out if you have questions or want to contribute in any way:
- Website: danielsaidi.com
- E-mail: [email protected]
- Bluesky: @[email protected]
- Mastodon: @[email protected]
EmojiKit is available under the MIT license. See the LICENSE file for more info.