Back to blog
Tailwind Long-Tail
9 min read
React
Card Component

React Card Component Examples: 100+ Designs for Every Use Case

Explore 110 React card component examples covering product cards, profile cards, pricing cards, stat cards, blog cards, and more. Built with Shadcn UI and Tailwind CSS for copy-paste use in any React or Next.js project.

SB

SERP Blocks Team

Product

React Card Component Examples: 100+ Designs for Every Use Case cover

The card is the most versatile UI pattern in web design. It wraps a discrete piece of content — an image, a heading, a description, an action — into a self-contained unit that users instantly understand. Cards are everywhere: e-commerce product grids, team pages, analytics dashboards, blog feeds, pricing tables, feature showcases.

Yet building a good card component from scratch takes more thought than it appears. You need to handle responsive layout, hover states, dark mode, accessibility, content overflow, image aspect ratios, and action placement. Multiply that by the dozen different card types most projects need, and you're looking at serious design and development time.

The SERP Blocks card collection includes 110 card component designs, each built with Shadcn UI and Tailwind CSS. This article walks through the major card categories, the design patterns that make cards effective, and when to reach for a card versus a different UI pattern.

Product Cards

Product cards are the backbone of e-commerce. Every product listing, category page, and search result uses some variation of the same structure: image, name, price, and a call to action.

The challenge is density. A product card needs to communicate enough information for a shopper to decide whether to click through, without overwhelming the visual hierarchy. The most effective product cards follow a strict top-to-bottom flow:

  1. Product image — Full-width, consistent aspect ratio across the grid

  2. Category or brand label — Small, muted text above the product name

  3. Product name — The primary text element, truncated to two lines maximum

  4. Price — Clear and prominent, with sale pricing shown as a crossed-out original price alongside the discounted price

  5. Action — An "Add to Cart" button or a quick-view trigger

Variants in the SERP Blocks collection cover horizontal card layouts where the image sits beside the text content, cards with wishlist heart icons in the top corner, cards with color swatch selectors, and cards with star rating displays. Some use image carousels that let the shopper preview multiple product photos without leaving the grid.

For full product page layouts, the product info collection includes 15 complete designs, and the product list collection has 20 grid layouts built from product cards.

Profile and Team Cards

Profile cards display a person: their photo, name, role, and a short bio or social links. These appear on team pages, user directories, author bylines, and community member lists.

The simplest profile card is a centered layout with a circular avatar, the person's name beneath it, their title in muted text, and a row of social media icons. But profile cards get more interesting with background images, offset avatar positioning, and expandable bio sections.

Horizontal profile cards work well for dense directories where you need to show many people without excessive scrolling. These place the avatar on the left with the name, role, and bio stacked to the right.

For leadership or "about us" pages, larger profile cards with full paragraphs of bio text and multiple contact options create a more personal feel. These often include a background gradient or a brand-colored accent bar along the top or side.

The SERP Blocks library includes 23 complete team section layouts that combine profile cards into full page sections with headers and grid arrangements.

Pricing Cards

Pricing cards present a single plan tier: the plan name, monthly or annual price, a list of included features, and a subscribe or purchase button. They're used individually or arranged in side-by-side comparison layouts.

Effective pricing cards use visual hierarchy to guide the user's eye:

  • Plan name at the top establishes what they're looking at

  • Price is the largest text element on the card, anchoring the comparison

  • Feature list uses checkmarks or icons to make scanning fast

  • CTA button is the only interactive element, making the action obvious

The most common pattern is to highlight one tier — usually the middle or "recommended" plan — with a different background color, a border, a badge, or a slight scale increase. This visual emphasis nudges users toward the plan you want them to choose.

The SERP Blocks collection includes pricing cards with annual/monthly toggle states, cards with "most popular" badges, enterprise-tier cards with "contact us" CTAs instead of prices, and cards with feature comparison tooltips. For full pricing page designs, the pricing collection has 21 complete layouts.

Stat and Metric Cards

Stat cards are the building blocks of dashboards and admin panels. Each card displays a single metric: a label, a number, and optionally a trend indicator or comparison to a previous period.

A typical stat card shows:

  • Metric label — "Total Revenue," "Active Users," "Conversion Rate"

  • Current value — The number itself, formatted appropriately (currency, percentage, abbreviated large numbers)

  • Trend indicator — An up or down arrow with a percentage change, colored green for positive and red for negative

  • Sparkline or mini chart — A small line graph or bar chart showing the metric over time

The best stat cards keep the number large and prominent. Everything else is supporting context. If someone glances at a dashboard and can't read the key metrics in under two seconds, the cards are too busy.

Stat cards from the SERP Blocks collection include variants with icon accents, progress bars, comparison columns (this period vs. last period), and goal tracking indicators. They pair naturally with the dashboard collection, which includes 20 complete dashboard layouts.

Blog and Content Cards

Blog cards preview an article in a feed or listing page. They typically show a featured image, the article title, a short excerpt, the author's avatar and name, the publication date, and a category tag.

The most important design decision for blog cards is the image-to-text ratio. Full-width images above the text content create a magazine-style feel and work well when you have strong photography. Smaller thumbnail images to the left of the text content create a more compact, scannable layout suited for news feeds or documentation sites.

Other variations include cards with no images at all — useful for text-heavy blogs where featured images add visual noise without information. Text-only blog cards rely on typography, spacing, and a clear heading hierarchy to create visual interest.

The SERP Blocks collection includes blog cards that pair with the blog list layouts (27 designs) and blog single layouts (12 article page templates).

Feature Cards

Feature cards highlight a single capability or benefit: an icon, a heading, and a short description. They're the atoms that combine into feature sections — those multi-column grids on landing pages that explain what a product does.

Feature cards come in several structural patterns:

  • Icon top, text below — The most common layout, stacking an icon or illustration above the feature name and description

  • Icon left, text right — A horizontal layout that's more compact and suits long feature lists

  • Large illustration cards — Cards where the visual element is a full illustration or screenshot rather than a simple icon

  • Numbered cards — Steps or processes where each card represents a sequential step, numbered prominently

Individual feature cards from the SERP Blocks collection can be used standalone or combined into custom layouts. For ready-made feature sections, the feature collection includes 132 complete layouts — the largest category in the library.

Testimonial Cards

Testimonial cards display a customer quote, the person's name, their company, and optionally their photo and a star rating. They serve as social proof on landing pages, product pages, and checkout flows.

The best testimonial cards make the quote itself the visual focus. Large quotation marks, slightly larger font size for the quote text, and a clear attribution line below. Photos of real people increase trust — generic avatar placeholders do the opposite.

Variations include cards with company logos, cards with video testimonial thumbnails, cards with linked case studies, and cards with verified purchase badges. For full testimonial sections with carousels and grids, the testimonial collection has 40 complete designs.

Design Patterns That Make Cards Work

Consistent Spacing

Cards in a grid need identical internal padding and external margins. When one card has 16px padding and its neighbor has 24px, the entire grid looks misaligned even if the cards are technically positioned correctly. The SERP Blocks card collection uses consistent spacing scales derived from Tailwind's spacing system.

Controlled Content Length

Cards break visually when one card in a grid has three lines of text and another has eight. The best approach is to truncate text content at a consistent line count using CSS line-clamp:

<p className="line-clamp-3 text-sm text-muted-foreground">
  {description}
</p>

This ensures every card in the grid maintains the same height regardless of content length.

Shadow and Elevation

Cards use shadow to communicate elevation — the sense that the card floats above the page surface. A subtle base shadow (shadow-sm) establishes the card boundary, while a hover shadow (hover:shadow-md) provides interactive feedback.

Avoid heavy shadows. The trend toward flatter design means most modern card implementations use very light shadows or rely on background contrast and borders instead.

Border Radius Consistency

Shadcn UI uses a CSS variable (--radius) to control border radius globally. This means all 110 card variants automatically match your project's border radius when you adjust this single variable. If you set --radius: 0.75rem, every card rounds its corners to that value.

Responsive Card Grids

Cards should reflow across breakpoints. The standard approach with Tailwind:

<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
  {cards.map((card) => (
    <CardComponent key={card.id} {...card} />
  ))}
</div>

This gives you a single column on mobile, two columns on small tablets, three on laptops, and four on wide screens. The gap-6 utility maintains consistent spacing between cards at every breakpoint.

Dark Mode

Every card in the SERP Blocks collection includes dark mode support through Tailwind's dark: variants and Shadcn's CSS variable system. Background colors, text colors, borders, and shadows all adapt automatically when the user's theme preference changes.

When to Use Cards vs. Other Patterns

Cards are powerful but not universal. Choosing the right pattern for your content matters.

Cards work best when:

  • Each item is independent and self-contained

  • Users need to scan and compare multiple items

  • Content has a repeating structure (image + title + description + action)

  • The page benefits from a grid or masonry arrangement

  • Items have a clear primary action (click to view, add to cart, select)

Use a table instead when:

  • Users need to compare specific attributes across many items

  • Data has many columns that need to be visible simultaneously

  • Sorting and filtering are primary interactions

  • The content is primarily numerical or tabular

The SERP Blocks table collection includes 17 table designs for these use cases.

Use a list instead when:

  • Items are sequential or ranked

  • The content is primarily text with minimal visual elements

  • Users need to process items in order

  • Screen space is limited and cards would create excessive scrolling

Use a timeline instead when:

  • Items have a temporal relationship

  • The sequence or chronology is the primary information

  • Users need to understand progression over time

Building with Shadcn UI Card Primitives

All 110 card designs in the SERP Blocks collection use Shadcn UI's Card primitives as their foundation:

import {
  Card,
  CardHeader,
  CardTitle,
  CardDescription,
  CardContent,
  CardFooter,
} from "@/components/ui/card";

export function ExampleCard() {
  return (
    <Card>
      <CardHeader>
        <CardTitle>Card Title</CardTitle>
        <CardDescription>Card description text</CardDescription>
      </CardHeader>
      <CardContent>
        <p>Main content goes here</p>
      </CardContent>
      <CardFooter>
        <Button>Action</Button>
      </CardFooter>
    </Card>
  );
}

These primitives handle the structural layout, background, border, and border-radius. All custom styling is applied through Tailwind utility classes, meaning every card integrates seamlessly with your existing Shadcn theme and CSS variables.

Cards Across the Full SERP Blocks Library

Cards don't exist only in the dedicated card collection. They appear throughout the 1200+ block library as building blocks within larger sections:

60 blocks across the entire library are available for free. The Pro plan unlocks all 1200+ blocks with a one-time purchase — no subscription.

Browse all 110 card component designs at SERP Blocks