EmojiKit
November 25, 2025 ยท View on GitHub
EmojiKit
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.
Installation
EmojiKit can be installed with the Swift Package Manager:
https://github.com/danielsaidi/EmojiKit.git
Features
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.
Localization
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.
Getting started
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.
Documentation
The online documentation has more information, articles, code examples, etc.
Demo Application
The Demo folder has a demo app that lets you explore the library and its components.
Support My Work
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.
Contact
Feel free to reach out if you have questions or want to contribute in any way:
- Website: danielsaidi.com
- E-mail: daniel.saidi@gmail.com
- Bluesky: @danielsaidi@bsky.social
- Mastodon: @danielsaidi@mastodon.social
License
EmojiKit is available under the MIT license. See the LICENSE file for more info.