All components
Chewypixel component

Emoji Picker

A searchable emoji picker with categories and a preview of the emoji you're on.

Loading emoji…
Pick an emoji…

Installation

npx shadcn@latest add @chewypixel/emoji-picker

Usage

import {
  EmojiPicker,
  EmojiPickerContent,
  EmojiPickerFooter,
  EmojiPickerSearch,
} from "@/components/ui/emoji-picker";

export function Reactions({ onPick }: { onPick: (emoji: string) => void }) {
  return (
    <EmojiPicker columns={8} onEmojiSelect={({ emoji }) => onPick(emoji)}>
      <EmojiPickerSearch />
      <EmojiPickerContent />
      <EmojiPickerFooter />
    </EmojiPicker>
  );
}

Props

onEmojiSelect

Called with the emoji someone picks.

({ emoji, label }) => void

columns

How many emoji fit in a row. Use 8 at the default width, or widen the picker for more.

number = 10

emojibaseUrl

Where emoji data loads from. It comes from a CDN by default; point it at your own copy to self-host.

string

placeholder

On EmojiPickerSearch, the search box placeholder.

string = "Search emoji…"

Released under the MIT License.

More components

See them in a real app

These components come from Bubblegum, our messenger template built with Next.js, shadcn/ui and Motion.