Search packages, repositories and app categories

Package detailsv3.2.0

emojis

Emojis for Dart! This package contain all unicode 13.0 emojis (2020)!

AndroidiOSWebmacOSWindowsLinux
30-day downloads
18.6K
Likes
110
Pub points
140

Install package

flutter pub add emojis

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The emojis package provides comprehensive support for Unicode 13.0 emojis in Dart applications. It includes all standard emojis released in 2020, enabling developers to easily integrate and display emojis across multiple platforms. The package is ideal for apps requiring rich text formatting, messaging interfaces, or expressive user interfaces. With a simple import, developers can access emoji data and use it in strings, widgets, or custom rendering logic. It’s lightweight and well-maintained, with source code available on GitHub for transparency and contribution.

Use cases

  • Messaging apps
  • User interface enhancements
  • Rich text content
  • Social media features
  • Gamification elements

Key features

  • Full Unicode 13.0 emoji support
  • Cross-platform compatibility
  • Easy integration via pub
  • Source code publicly available
  • Lightweight and fast

Suitable for

  • Mobile app developers
  • Web application creators
  • UI/UX designers
  • Educational apps
  • Interactive chat interfaces

Considerations

  • Does not include emoji skins or variants
  • No built-in emoji picker
  • Limited to static emoji data
  • Requires manual handling of emoji rendering
  • No localization support

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Emojis

🔥 Emoji for Dart 🔥 Over 3900 Emojis
This 📦 contain all 🆕 Unicode 17.0 Emojis (2️⃣0️⃣2️⃣5️⃣) 💪 supports null safety 💪

🛠️ 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.bullseye}'); // I 💚 🎯

Emoji? smile = Emoji.byName('hi'); // get a emoji by its name
if (smile != null) {
    print('Emoji name      : ${smile.name}');
    // Emoji name is Grinning Face
    print('Emoji character : ${smile.char}');
    // Emoji character is '😀'
    print('Emoji category  : ${smile.emojiGroup}');
    // EmojiGroup.smileysEmotion group of emoji
    print('Emoji sub-group : ${smile.emojiSubgroup}');
    // EmojiSubgroup.faceSmiling sub group of emoji
} else {
  print('Emoji not found!');
}

// get an emoji by its character 👱‍♀️
Emoji? womanBlond = Emoji.byChar(Emojis.womanBlondHair)!;
print(womanBlond);

// make blondy in black
Emoji blondyBlackLady = womanBlond.newSkin(fitzpatrick.dark);
print(blondyBlackLady); // 👱🏿‍♀️

List<Emoji> emList = Emoji.all(); // list of all Emojis
print(emList[2]); // second emoji in list

// disassemble an emoji
List<String> disassembled = Emoji.disassemble(Emojis.mechanic);
print(disassembled); // ['🔧', '🧑']

// assemble some emojis
String assembled = Emoji.assemble([Emojis.man, Emojis.man, 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 :)
print(loveEmojis);
// (🥰, 😍, 😘, 😚, 😙, 🤗, 😻, 😽, 💋, 💌, 💘, 💝, 💖, 💗, 💓, 💞, 💕, ..., 💄, ♾)

final foodCategory = Emoji.byGroup(EmojiGroup.foodDrink); // returns emojis in Food and Drink group
print(foodCategory);
// (🍇, 🍈, 🍉, 🍊, 🍋, 🍌, 🍍, 🥭, 🍎, 🍏, 🍐, 🍑, 🍒, 🍓, 🥝, 🍅, 🥥, 🥑, ...)

Iterable<Emoji> moneySubgroupEmojis = Emoji.bySubgroup(EmojiSubgroup.money); // returns emojis in Money subgroup
print(moneySubgroupEmojis);
// (💰, 💴, 💵, 💶, 💷, 💸, 💳, 🧾, 💹)

🚀 Features

  • [x] All Present unicode emojis 💯.
  • [x] Get Emojis by Name, Category, Keyword & ...
  • [x] Modify Emoji with 🆕 skin color ( 🏻 🏼 🏽 🏾 🏿 ).
  • [x] Stabilize Emoji (No Skin color, No Gender).
  • [x] Assemble Emojis (👩 + ❤ + 👩 = 👩‍❤️‍👩 ).
  • [x] Disassemble Emojis (👨‍🔧 = 🔧 + 🧑).
  • [x] Emoji Regex Pattern.
  • [ ] Emojize and Demojize text.
  • [ ] Find emojis in text.
  • [ ] Replace emojis in text.

📄 License

Categories

Dependencies

Dependency list 1 items

Source repository

Projects using this package