nextui.dev
Home
Library
Docs
Pricing
Components26
AI & agents5
  • AI chat inputPro
  • Agent task checklistPro
  • Agent thinking
  • Thinking indicator
  • Prompt deckNew
Forms & inputs7
  • Input with label
  • Input with icon and button
  • Settings switches
  • Password with strength meter
  • One-time code input
  • WaitlistNew
  • File dropzonePro
Cards5
  • Style marquee cardPro
  • Folder card
  • Celebration cardPro
  • Smart PDF stackNew
  • Waitlist pass
Buttons, badges & avatars5
  • Buttons with icons
  • QR scan badge
  • Avatar group
  • Rolling price badge
  • Avatars with status
Feedback & display4
  • Alert banners
  • FAQ accordion
  • Keyboard shortcuts
  • Empty state
Blocks11
Hero4
  • Animated pill heroPro
  • Integrations grid hero
  • Waitlist heroNew
  • Orbit chat heroNew
Features & pricing3
  • Usage cardPro
  • Three-tier pricing
  • Feature with board
Testimonials & team3
  • Testimonial cards
  • Single quote
  • Team carousel
Sign-in1
  • Sign-in cardPro
Motion2
Effects2
  • Text revealPro
  • Sound ringNew
Themes9
  • Default
  • Ember
  • Ocean
  • Forest
  • Grape
  • Rose
  • Amber
  • Clay
  • Brutal
nextui.dev

nextui components, blocks and themes you install with one command.

Product

  • Components
  • Blocks
  • Motion
  • Themes
  • Pricing

Resources

  • Docs
  • Roadmap
  • GitHub

Legal

  • License
  • Privacy
  • Terms
  • Refunds

nextUI

[ 200 OK ] · nextUI

© 2026 NEXTUI.DEV. All rights reserved.

ComponentsFeedback & displayFAQ accordion

FAQ accordion

Accessible accordion built on details and summary.

Copy prompt
MCP

Installation

Runs as is, no setup needed. Want a shorter command like @nextui/accordion-01? See short names.

$pnpm dlx shadcn@latest add https://tinistudio.vercel.app/r/accordion-01.json

Related

All components

Alert banners

Info, success, warning and error alerts with dismiss buttons.

Keyboard shortcuts

Shortcut list with styled key caps.

Empty state

Dashed empty state with a skeleton-card illustration, copy and two actions.

npx shadcn@latest add https://tinistudio.vercel.app/r/accordion-01.json
components/nextui/accordion-01.tsx
import { Plus } from "lucide-react";

const ITEMS = [
  ["Is there a free plan?", "Yes. The free plan includes three projects and community support, forever."],
  ["Can I cancel anytime?", "You can cancel from your billing settings. You keep access until the end of the period."],
  ["Do you offer refunds?", "We refund any payment within 14 days, no questions asked."],
];

export default function Accordion01() {
  return (
    <div className="w-full max-w-md divide-y rounded-lg border bg-card">
      {ITEMS.map(([q, a], i) => (
        <details key={q} open={i === 0} className="group px-4 [&_summary::-webkit-details-marker]:hidden">
          <summary className="flex cursor-pointer list-none items-center justify-between gap-4 py-4 text-sm font-medium">
            {q}
            <Plus className="size-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" />
          </summary>
          <p className="pb-4 text-sm text-muted-foreground">{a}</p>
        </details>
      ))}
    </div>
  );
}
Sign in