A generic but configurable emoji picker for Flutter
  • Dart 97.6%
  • Nix 1.4%
  • HTML 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-16 16:15:15 -04:00
.widget_preview adjust padding 2026-09-16 16:10:04 -04:00
assets initial commit 2026-09-16 14:05:18 -04:00
lib adjust padding 2026-09-16 16:10:04 -04:00
scripts initial commit 2026-09-16 14:05:18 -04:00
.envrc initial commit 2026-09-16 14:05:18 -04:00
.gitignore initial commit 2026-09-16 14:05:18 -04:00
.metadata initial commit 2026-09-16 14:05:18 -04:00
analysis_options.yaml initial commit 2026-09-16 14:05:18 -04:00
CHANGELOG.md release 1.0.3 2026-09-16 16:15:15 -04:00
devshell.nix initial commit 2026-09-16 14:05:18 -04:00
flake.lock initial commit 2026-09-16 14:05:18 -04:00
flake.nix initial commit 2026-09-16 14:05:18 -04:00
LICENSE initial commit 2026-09-16 14:05:18 -04:00
pubspec.lock initial commit 2026-09-16 14:05:18 -04:00
pubspec.yaml release 1.0.3 2026-09-16 16:15:15 -04:00
README.md release 1.0.1 2026-09-16 14:59:40 -04:00

A generic but configurable emoji picker for Flutter. Defaults to including only unicode emojis, sourced from gemoji, but can be configured to show custom emotes.

Features

  • Up-to-date emojis, sourced from gemoji
  • The ability to prepend or append custom categories with custom emoji
  • Support for free text selection
  • Sleek M3 design:

A screenshot of the emoji picker, showing a searchbar, category selection, and two categories of emojis

Getting started

Add the package to your project with flutter pub get.

Usage

EmojiPicker is very generic and can be used in multiple context, like a bottom sheet, dialog, or even as just a widget on your page.

An example, using EmojiPicker as a bottom sheet:

showModalBottomSheet(
  isScrollControlled: true,
  context: context,
  builder: (context) => EmojiPicker(
    onSelection: (emoji) {
      Navigator.of(context).pop();
      message.sendReaction(emoji);
    },
  ),
);

Accepted Parameters

  • IList<EmojiCategory> prependCategories: Categories to prepend to the default emoji list
  • IList<EmojiCategory> appendCategories: Categories to append to the default emoji list
  • required FutureOr<void> Function(String value) onSelection: Function to be called when an emoji is selected
  • bool allowFreeText = false: Whether to allow free text to be returned. Defaults to false.