his package is based on the source code of emojis and is an attempt to made some improvements, mainly migrate to null safety.

๐Ÿ”ฅ Emoji for Dart ๐Ÿ”ฅ Over 3300 Emojis
This ๐Ÿ“ฆ contain all ๐Ÿ†• Unicode 13 Emojis (2๏ธ0๏ธ2๏ธ0๏ธ)

๐Ÿ› ๏ธ Usage

0๏ธโƒฃ Import

import 'package:emojis/emojis.dart'; // to use Emoji collection
import 'package:emojis/emoji.dart'; // to use Emoji utilities

1๏ธโƒฃ Use

print('I ${Emojis.greenHeart} ${Emojis.directHit}'); // I ๐Ÿ’š ๐ŸŽฏ

Emoji smile = Emoji.byName('Grinning Face'); // get a emoji by its name
print('Emoji name      : ${}');
// Emoji name is Grinning Face
print('Emoji character : ${smile.char}');
// Emoji character '๐Ÿ˜€'
print('Emoji category  : ${smile.emojiGroup}');
// EmojiGroup.smileysEmotion group of emoji
print('Emoji sub-group : ${smile.emojiSubgroup}');
// EmojiSubgroup.faceSmiling sub group of emoji

// get an emoji by its character ๐Ÿ‘ฑโ€โ™€๏ธ
Emoji womanBlond = Emoji.byChar(Emojis.womanBlondHair); 

// make blondy in black
Emoji blondyBlackLady = womanBlond.newSkin(fitzpatrick.dark); 
print(blondyBlackLady); // ๐Ÿ‘ฑ๐Ÿฟโ€โ™€๏ธ

List<Emoji> emList = Emoji.all(); // list of all Emojis

// disassemble an emoji
List<String> disassembled = Emoji.disassemble(Emojis.mechanic); 
print(disassembled); // ['๐Ÿ”ง', '๐Ÿง‘']

// assemble some emojis
String assembled = Emoji.assemble([,, Emojis.girl, Emojis.boy]);
print(assembled); // ๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ๏ธ

String blackThumbsUp = '๐Ÿ‘';
// modify skin tone of emoji
String witheThumbsUp = Emoji.modify(blackThumbsUp, fitzpatrick.light); 
print(witheThumbsUp); // ๐Ÿ‘๐Ÿป

// A Woman Police Officer With Brown Skin
String femaleCop =  Emojis.womanPoliceOfficerMediumDarkSkinTone;
// Make that woman to just a Woman Police Officer with no special skin color
String newFemaleCop = Emoji.stabilize(femaleCop);
print('$femaleCop => $newFemaleCop'); //๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ => ๐Ÿ‘ฎโ€โ™€๏ธ 

// gender-neutral
String aCop = Emoji.stabilize(femaleCop, skin: false, gender: true);
print('$femaleCop => $aCop'); //๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ=> ๐Ÿ‘ฎ๐Ÿพ no gender! still medium dark

final loveEmojis = Emoji.byKeyword('love'); // returns list of lovely emojis :)
// (๐Ÿฅฐ, ๐Ÿ˜, ๐Ÿ˜˜, ๐Ÿ˜š, ๐Ÿ˜™, ๐Ÿค—, ๐Ÿ˜ป, ๐Ÿ˜ฝ, ๐Ÿ’‹, ๐Ÿ’Œ, ๐Ÿ’˜, ๐Ÿ’, ๐Ÿ’–, ๐Ÿ’—, ๐Ÿ’“, ๐Ÿ’ž, ๐Ÿ’•, ..., ๐Ÿ’„, โ™พ)

final foodCategory =  Emoji.byGroup(EmojiGroup.foodDrink); // returns emojis in Food and Drink group
// (๐Ÿ‡, ๐Ÿˆ, ๐Ÿ‰, ๐ŸŠ, ๐Ÿ‹, ๐ŸŒ, ๐Ÿ, ๐Ÿฅญ, ๐ŸŽ, ๐Ÿ, ๐Ÿ, ๐Ÿ‘, ๐Ÿ’, ๐Ÿ“, ๐Ÿฅ, ๐Ÿ…, ๐Ÿฅฅ, ๐Ÿฅ‘, ...)

eIterable<Emoji> moneySubgroupEmojis = Emoji.bySubgroup(; // returns emojis in Money subgroup
// (๐Ÿ’ฐ, ๐Ÿ’ด, ๐Ÿ’ต, ๐Ÿ’ถ, ๐Ÿ’ท, ๐Ÿ’ธ, ๐Ÿ’ณ, ๐Ÿงพ, ๐Ÿ’น)

๐Ÿš€ Features

  • x Migrate to null safety
  • Add unicode 13.1 emojis
  • Emojize and Demojize text
  • Find emojis in text
  • Replace emojis in text

๐Ÿ“„ License


Library for Emoji
Library for Unicode Emojis