unicode_emojis ๐
November 8, 2025 ยท View on GitHub
A Dart package that gives you all the Unicode emojis, skin tone variants, and search. The data is generated from the awesome emoji-data repository, so it will always be fresh and up to date. ๐
Features
- Contains over 3,000 emojis from Unicode 16.0. ๐
- Supports skin tone variations for human emojis and multi-person emojis. ๐๐ปโโ๏ธ๐๐ผโโ๏ธ๐๐ฝโโ๏ธ๐๐พโโ๏ธ๐๐ฟโโ๏ธ
- Provides an
Emojiclass that has all the info you need for each emoji. ๐ - Access everything through the
UnicodeEmojisclass. ๐- The
UnicodeEmojis.allEmojisconstant contains all the emojis. ๐ฆ - The
UnicodeEmojis.searchfunction finds the emojis that match your query. ๐- Search by name, short name (e.g.
tada), category (e.g.flags), subcategory (e.g.country-flag), or ASCII representation (e.g.;)).
- Search by name, short name (e.g.
- The
Usage
To use this package, add unicode_emojis as a dependency in your pubspec.yaml file.
Then import it in your Dart code:
import 'package:unicode_emojis/unicode_emojis.dart';
Here's a quick example:
import 'package:unicode_emojis/unicode_emojis.dart';
void main(List<String> args) {
// You can access the list of all emojis using the `allEmojis` constant.
const emojis = UnicodeEmojis.allEmojis;
// Print the first 10 emojis.
print(emojis.take(10).map((e) => e.emoji).toList());
// => [๐, ๐, ๐, ๐, ๐, ๐
, ๐คฃ, ๐, ๐, ๐]
// Search for emojis that contain the word "blue".
final blueEmojis = UnicodeEmojis.search('blue');
print(blueEmojis.map((e) => e.emoji).toList());
// => [๐, ๐ฉต, ๐ซ, ๐, ๐, ๐ต, ๐ฆ, ๐ท, ๐น]
// Search by short name.
final partyPopper = UnicodeEmojis.search('tada').first;
print(partyPopper);
// =>
// {
// "name": "party popper",
// "emoji": "๐",
// "unified": "1F389",
// "non_qualified": null,
// "short_name": "tada",
// "short_names": [
// "tada"
// ],
// "text": null,
// "texts": null,
// "category": "Activities",
// "subcategory": "event",
// "sort_order": 1045,
// "added_in": "0.6",
// "has_img_apple": true,
// "has_img_google": true,
// "has_img_twitter": true,
// "has_img_facebook": true,
// "skin_variations": null,
// "obsoletes": null,
// "obsoleted_by": null
// }
// Search by official Unicode name.
final spoutingWhale = UnicodeEmojis.search('spouting whale').first;
print(spoutingWhale.emoji);
// => ๐ณ
print(spoutingWhale.name);
// => spouting whale
// Get an emoji and its variations.
final wavingEmoji = UnicodeEmojis.search('waving hand').first;
print(wavingEmoji.emoji);
// => ๐
print(wavingEmoji.skinVariations!.map((e) => e.emoji).toList());
// => [๐๐ป, ๐๐ผ, ๐๐ฝ, ๐๐พ, ๐๐ฟ]
// Search for emoji by the ASCII representation.
final winkEmoji = UnicodeEmojis.search(';)').first;
print(winkEmoji.emoji);
// => ๐
}
For more details, please check out the API reference.
License
This package is licensed under the MIT license. See the LICENSE file for more information.