emoji_utils 0.0.1 copy "emoji_utils: ^0.0.1" to clipboard
emoji_utils: ^0.0.1 copied to clipboard

A lightweight Dart utility for accurate single emoji detection. Handles ZWJ sequences, skin tone modifiers, variation selectors, flags, and all modern Unicode emoji ranges.

Emoji Utils #

A lightweight, pure Dart utility for detecting whether a string contains a single emoji. Correctly handles the full complexity of Unicode emoji sequences.

Emoji Utils Demo

Features #

  • ZWJ Sequences β€” Family (πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦), profession, and combined emojis.
  • Skin Tone Modifiers β€” Fitzpatrick scale support (πŸ‘‹πŸ½).
  • Variation Selectors β€” Handles both text and emoji presentation (❀️ vs ❀).
  • Flag Sequences β€” Regional indicator pairs (πŸ‡ΉπŸ‡·, πŸ‡ΊπŸ‡Έ).
  • Full Unicode 15.1 β€” All modern emoji ranges covered.
  • Zero Dependencies β€” Pure Dart, no Flutter required.

Installation #

dependencies:
  emoji_utils: ^<latest_version>

Usage #

import 'package:emoji_utils/emoji_utils.dart';

// Basic emojis
EmojiUtils.isSingleEmoji('πŸ˜€');      // true
EmojiUtils.isSingleEmoji('πŸŽ‰');      // true

// Compound emojis
EmojiUtils.isSingleEmoji('πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦'); // true (ZWJ family)
EmojiUtils.isSingleEmoji('πŸ‘‹πŸ½');     // true (skin tone)
EmojiUtils.isSingleEmoji('πŸ‡ΉπŸ‡·');     // true (flag)
EmojiUtils.isSingleEmoji('❀️');      // true (variation selector)

// Non-emoji strings
EmojiUtils.isSingleEmoji('Hello');   // false
EmojiUtils.isSingleEmoji('πŸ˜€πŸ˜€');    // false (two emojis)
EmojiUtils.isSingleEmoji('');        // false
EmojiUtils.isSingleEmoji('abcπŸ˜€');   // false (mixed)

Common Use Case: Chat Bubbles #

Display single emojis larger in chat messages, like iMessage or WhatsApp:

final message = '❀️';

if (EmojiUtils.isSingleEmoji(message)) {
  // Render as a large standalone emoji (no bubble)
  return Text(message, style: TextStyle(fontSize: 64));
} else {
  // Render inside a normal chat bubble
  return ChatBubble(child: Text(message));
}

License #

Licensed under the MIT License.

2
likes
160
points
100
downloads

Documentation

API reference

Publisher

verified publisherspeakblend.com

Weekly Downloads

A lightweight Dart utility for accurate single emoji detection. Handles ZWJ sequences, skin tone modifiers, variation selectors, flags, and all modern Unicode emoji ranges.

Repository (GitHub)
View/report issues

License

MIT (license)

More

Packages that depend on emoji_utils