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: daniel.saidi@gmail.com
- Bluesky: @danielsaidi@bsky.social
- Mastodon: @danielsaidi@mastodon.social
EmojiKit is available under the MIT license. See the LICENSE file for more info.
