https://github.com/danielsaidi/emojikit
EmojiKit is a Swift SDK that lets you use emojis and other emoji-based features on all major Apple platforms.
https://github.com/danielsaidi/emojikit
emoji emoji-categories emoji-picker emoji-versions emojis ios macos swift swiftui tvos visionos watchos
Last synced: 6 months ago
JSON representation
EmojiKit is a Swift SDK that lets you use emojis and other emoji-based features on all major Apple platforms.
- Host: GitHub
- URL: https://github.com/danielsaidi/emojikit
- Owner: danielsaidi
- License: mit
- Created: 2024-02-22T08:10:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-31T20:43:31.000Z (6 months ago)
- Last Synced: 2025-04-05T23:47:05.726Z (6 months ago)
- Topics: emoji, emoji-categories, emoji-picker, emoji-versions, emojis, ios, macos, swift, swiftui, tvos, visionos, watchos
- Language: Swift
- Homepage:
- Size: 5.39 MB
- Stars: 114
- Watchers: 2
- Forks: 11
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![]()
# 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 - EmojiKit defines a structured emoji model.
* π» Emoji Categories - EmojiKit defines all standard emoji categories.
* π¦ Emoji Versions - EmojiKit defines all emoji versions and their emojis.
* π§© Extensions - EmojiKit extends native types with emoji support.
* πΈπͺ Localization - EmojiKit supports localizing all emojis and categories.
* ππΎ Skin Tones - EmojiKit provides emoji skin tone information.
* πΌοΈ Views - EmojiKit has emoji-specific views, like grids and pickers.See the online [documentation][Documentation] for more information.
## Localization
EmojiKit is localized in:
* πΊπΈ English (U.S.)
* πͺπΈ Spanish
* πΈπͺ SwedishYou can contribute by localizing the `Sources/Resources/en.lproj` folder.
## Getting started
The `Emoji` model can be used to parse a bunch of emoji-specific information, for instance:
```swift
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(for: .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:
```swift
EmojiCategory.smileysAndPeopleChars.emojis // πππ...
EmojiCategory.animalsAndNatureChars.emojis // πΆπ±π...
EmojiCategory.foodAndDrinkChars.emojis // πππ...
```The `EmojiVersion` enum defines Emoji versions and the emojis they introduced, for instance:
```swift
EmojiVersion.v15_1.emojis // πββοΈπββοΈπ©βπ¦½ββ‘οΈ...
EmojiVersion.v15.emojis // π«¨π«Έπ«·
EmojiVersion.v14.emojis // π« π«’π«£
```See the online [documentation][Documentation] for more information.
## Documentation
The online [documentation][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 [sponsor me][Sponsors] on GitHub Sponsors or [reach out][Email] for paid support, to help support my [open-source projects][OpenSource].
Your support makes it possible for me to put more work into these projects and make them the best they can be.
## Contact
Feel free to reach out if you have questions or if you want to contribute in any way:
* Website: [danielsaidi.com][Website]
* E-mail: [daniel.saidi@gmail.com][Email]
* Bluesky: [@danielsaidi@bsky.social][Bluesky]
* Mastodon: [@danielsaidi@mastodon.social][Mastodon]## License
EmojiKit is available under the MIT license. See the [LICENSE][License] file for more info.
[Email]: mailto:daniel.saidi@gmail.com
[Website]: https://danielsaidi.com
[GitHub]: https://github.com/danielsaidi
[Bluesky]: https://bsky.app/profile/danielsaidi.bsky.social
[Twitter]: https://twitter.com/danielsaidi
[Mastodon]: https://mastodon.social/@danielsaidi
[OpenSource]: https://danielsaidi.com/opensource
[Sponsors]: https://github.com/sponsors/danielsaidi[Documentation]: https://danielsaidi.github.io/EmojiKit
[License]: https://github.com/danielsaidi/EmojiKit/blob/main/LICENSE