DocsSupportPricing
Roadmap (has updates coming soon)XFigma3.5K
Sign inGet ProGet All-Access
  1. Components
  2. Message

Shadcn Message

12 Pro blocksShare

Browse 7 production-ready shadcn Message components for chat transcripts, AI assistant replies, shared files, and streaming answers. Message is the same plain markup in the Base UI and Radix UI builds and is fully aligned with Shadcn Create style options, so radius, colors, and typography match your design tokens.

Shadcn Message: Chat Transcripts, Assistant Replies, and Threads

Shadcn Message is the row of a chat transcript, built from 6 wrappers (MessageGroup, Message, MessageAvatar, MessageContent, MessageHeader, and MessageFooter) that hold the portrait, the message surface, and the small print above and below it. None of them carry state, context, or a provider, so the row renders exactly what you pass it.

One prop does the work that usually costs a page of layout code. align writes a data attribute on the row, the row reverses its direction, and the style sheet pulls the bubble, any attachment, and the footer to the same side. An outgoing message needs no alignment classes of its own.

ReUI lists 7 Message components as real transcripts rather than isolated rows, so you can judge avatar anchoring, metadata alignment, and grouping next to Shadcn Bubble, Shadcn Attachment, and Shadcn Marker. The sections below cover what the component is, why teams use it, which features matter, and how it composes into a full chat surface.

What is Shadcn Message?

In UI terms, a message is one turn in a conversation: who said it, what they said, and the metadata around it. Shadcn Message splits that into an avatar slot and a content column, with optional header and footer rows inside the column. Every part is a div with a data-slot and no behavior of its own, and the file is identical in the Base UI and Radix builds, so a transcript ports between the two twins without a rewrite.

The 7 components here show a two-sided conversation, avatars that stay level with the last line of a long message, a sender name paired with a read receipt, a copy and regenerate toolbar under an assistant answer, image and document attachments inside a thread, a run of messages stacked under one avatar, and a reply that moves from pending to streaming to settled. They answer the layout questions before you wire a transport: which side a turn sits on, where the timestamp goes, and what 3 messages in a row from one person should look like.

Why Use Shadcn Message?

Transcript layout is fiddly in ways that surface late. The avatar drifts to the top of a three-line message, the timestamp lands a few pixels off the text above it, the outgoing side grows its own margin rules, and a run of 5 messages from one person repeats the same portrait 5 times. Message keeps those decisions in CSS, keyed off the row, so your code holds content instead of spacing.

A row is the start of a chat surface, not the end of one. When the thread needs a composer, a scroll container that keeps up with new turns, saved conversations, and streaming controls, the 12 AI Chat blocks in ReUI Pro assemble that surface, and 9 of them import this same component. Nothing you learn on this page is thrown away when you move up.

Shadcn Message Features

  • Side Switching With One Prop. Set align to 'end' on the row. It writes data-align, reverses the flex direction, and the per-style rule pulls every direct child of MessageContent that carries a data-slot to the end, so the outgoing turn needs no alignment classes.
  • Bottom-Anchored Avatar. MessageAvatar aligns to the end of the row, so the portrait stays level with the last line of a multi-line message instead of floating beside the first. It keeps a minimum width from the active style, so an empty one still holds the column open as a spacer.
  • Header and Footer Slots. MessageHeader carries the sender name and time, MessageFooter carries delivery state or reply actions. Both render in small muted text and are padded to line up with the message surface above them, and the footer follows whichever side the row is on.
  • Message Grouping. MessageGroup stacks consecutive messages from one sender with its own gap, tighter than the gap you set between senders. Render the avatar on the last row of the run and leave MessageAvatar empty on the others so the whole run sits on one spine.
  • Unframed Assistant Rows. A ghost Shadcn Bubble drops the frame, the background, and the content padding, and the header and footer drop their matching padding with it. That is the full-width layout most AI answers use, and it sits in the same row component as a framed reply.
  • Composition Over Configuration. MessageContent takes whatever you put in it: a bubble, a Shadcn Attachment card, a Shadcn Marker status line, or your own renderer. Because the parts are wrappers rather than a widget, a transcript stays yours to restructure.
  • Shadcn Create Compatible. All 8 Shadcn Create styles (Nova, Vega, Maia, Lyra, Mira, Luma, Sera, and Rhea) set the row gap, the text size, and the avatar width for Message, so previews and exported code follow the same tokens as the rest of your UI.

Composing Message With Bubble, Attachment, and Marker

Message is the frame, and the content comes from its siblings. Shadcn Bubble is the surface the text sits on and ships 7 variants, from a plain default to the unframed ghost used for assistant answers. Shadcn Attachment is a file card with its own border and per-style radius, so a shared image or CSV drops into the content column with no container to hand-roll. Shadcn Marker is the one-line status row for a pending answer, usually paired with Shadcn Spinner. All of them sit inside MessageContent, and the row aligns them together.

Around the row, Shadcn Avatar supplies the portrait and a presence badge, Shadcn Button supplies the copy, regenerate, and rating actions in the footer, and Shadcn Message Scroller supplies the scrolling viewport with a jump-to-latest control for threads longer than the screen. A Shadcn Textarea composer below the list completes the surface.

Integrating With Other Components

Pair Message with Shadcn Bubble for the message surface and Shadcn Avatar for identity and presence. Put Shadcn Button actions in MessageFooter for copy, regenerate, and rating, and give each icon-only button a label so 4 identical glyphs in a thread stay distinguishable.

Add Shadcn Attachment for files shared in a turn, Shadcn Marker with Shadcn Spinner for a pending row, and Shadcn Message Scroller around the list so a long thread stays pinned to the newest turn. A Shadcn Textarea composer and a Shadcn Dropdown Menu for per-message actions finish the surface, and Shadcn Skeleton covers the first load before any turn exists.

When the thread needs the product around it, the 12 AI Chat blocks in ReUI Pro are the assembled version of this page: 9 of them import this same component, in 10 files, and add the composer, the conversation rail, citations, tool traces, and streaming controls on top. Start with the free components here, then move up when the transcript becomes an app.

AI Chat Blocks in ReUI Pro

The free examples above pair with 12 production ready ai chat blocks in ReUI Pro, complete sections built on the same primitives and ready to copy into your app.

  • AI Chat (12 blocks)Conversation surfaces for AI products, from full chat shells to embeddable threads, sheets, and launchers.

Browse all AI & Agents blocks

Frequently Asked Questions

Previous5 Shadcn Menubar Components
Next6 Shadcn Message Scroller Components

Start building with ReUI Pro today.

Every Pro block, every style, and every future addition, with one license.

Get All-Access

From $249, once. Lifetime updates.

Application

  • App ShellAdded 10 new app shell blocks
  • Auth
  • Card
  • Chart
  • Dashboard
  • Dialog
  • Empty State
  • Event Calendar
  • Flow
  • Form
  • Gantt
  • Kanban Board
  • List
  • Navbar
  • Onboarding
  • Profile
  • Schedule
  • Settings
  • Sheet
  • Stats
  • Timeline
  • Wizard

Solutions

  • Agents
  • AI Ops
  • Analytics
  • Billing
  • Bookings
  • CRM
  • Files
  • Inventory
  • Users

AI & Agents

  • AI Chat
  • Agent Activity

Templates

  • E-commerce
  • SaaS
  • Dashboard
  • Landing
  • All templates

eCommerce

  • Category Card
  • Checkout
  • Comparison
  • Coupon
  • Filter Sidebar
  • Product Card
  • Product Detail
  • Product Grid
  • Receipt
  • Review
  • Shopping Cart
  • Wishlist
  • Shop Hero

Data Grid

  • BaseAdded a rate card Data Grid block with a price breakdown dialog
  • Columns
  • Drag & Drop
  • Editing
  • Expansion
  • Filtering
  • Grouping
  • Virtualization

Marketing

  • Blog
  • CompareNew Compare category with 3 versus section blocks
  • Contact
  • CTAAdded 11 new CTA blocks
  • FAQ
  • Hero
  • How It WorksNew How It Works category with 5 numbered step blocks
  • PricingNew Pricing category with a 4-tier pricing table block

Resources

  • Components
  • Blocks
  • Icons
  • MCP for Agents
  • Docs
  • Support
  • Pricing
  • Roadmap(has updates coming soon)
  • AffiliateSoon

Legal

  • Privacy Policy
  • Terms & Conditions
  • License
  • Refunds
  • Cookies

© 2026 ReUI. All rights reserved.

3.5K

Incoming and outgoing rows separated by nothing but the align prop.

Bottom-anchored avatars that flip with the row, plus a presence dot.

Header for identity, footer for status, and how each one picks its side.

Copy, regenerate and rating controls under an unframed assistant reply.

Image and document attachments stacked with the bubble in one message.

A run of three messages under a single avatar, using MessageGroup.

One assistant row moving from thinking, to typing, to settled.