Shadcn Table
Explore the collection of awesome Shadcn Table Components, featuring 16 table variants designed for customizable, and interactive UI elements built with React and Tailwind CSS.
Join our Discord community and share your ideas to help us improve and expand our component variants!
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
Rounded corner table
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| INV008 | Paid | Debit Card | $350.00 |
| INV009 | Pending | Google Pay | $969.00 |
| INV010 | Unpaid | Apple Pay | $815.00 |
| Total | $2,500.00 | ||
Overflow scroll table
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| INV008 | Paid | Debit Card | $350.00 |
| INV009 | Pending | Google Pay | $969.00 |
| INV010 | Unpaid | Apple Pay | $815.00 |
| Total | $2,500.00 | ||
Sticky header table
| ID | Name | Occupation | Employer | Location | Last Access | Salary | |
|---|---|---|---|---|---|---|---|
| 1 | Alice Smith | Software Engineer | Alpha Tech | alice@example.com | United States | 12/16/2021 | $120,000 |
| 2 | Bob Johnson | Marketing Manager | Beta Corp | bob@example.com | Canada | 11/05/2021 | $100,000 |
| 3 | Charlie Brown | Graphic Designer | Gamma Studios | charlie@example.com | United Kingdom | 09/20/2022 | $75,000 |
| 4 | Dora Emily | HR Manager | Delta Corp | dora@example.com | Australia | 08/10/2020 | $40,000 |
| 5 | Ethan Hunt | Secret Agent | Eagle Eye | ethan@example.com | India | 11/20/2021 | $220,000 |
| 6 | Fiona Brown | Financial Analyst | Fox Finance | fiona@example.com | France | 07/05/2021 | $150,000 |
| 7 | George Wilson | Project Manager | Gazelle Technologies | george@example.com | Brazil | 05/25/2021 | $135,000 |
Sticky column table
| Product Name | Iphone 16 PRO |
| Serial Number | DF121543309KU |
| Category | Smartphone |
| Purchase Date | 15/06/205 |
| Warranty Expiry | 15/06/2026 |
| Origin | China |
| Assign User | Alice Johnson |
| Value | $1,120.0 |
Vertical table
| Name | Location | Status | Balance | |
|---|---|---|---|---|
PG Philip George | philipgeorge20@gmail.com | Mumbai, India | Active | $10,696.00 |
TC Tiana Curtis | tiana12@yahoo.com | New York, US | applied | $0.00 |
JD Jaylon Donin | jaylon23d.@outlook.com | Washington, US | Active | $569.00 |
KY Kim Yim | kim96@gmail.com | Busan, South Korea | Inactive | -$506.90 |
Table with avatar
| Invoice | Status | Method | Amount |
|---|---|---|---|
| INV001 | Paid | Credit Card | $250.00 |
| INV002 | Pending | PayPal | $150.00 |
| INV003 | Unpaid | Bank Transfer | $350.00 |
| INV004 | Paid | Credit Card | $450.00 |
| INV005 | Paid | PayPal | $550.00 |
| INV006 | Pending | Bank Transfer | $200.00 |
| INV007 | Unpaid | Credit Card | $300.00 |
| Total | $2,500.00 | ||
Table with pagination
| Name | Location | Status | Balance | ||
|---|---|---|---|---|---|
| Philip George | philipgeorge20@gmail.com | Mumbai, India | Active | $10,696.00 | |
| Sarah Chen | sarah.c@company.com | Singapore | Active | $600.00 | |
| James Wilson | j.wilson@company.com | London, UK | Inactive | $650.00 | |
| Maria Garcia | m.garcia@company.com | Madrid, Spain | Active | $0.00 | |
| David Kim | d.kim@company.com | Seoul, KR | Active | -$1,000.00 | |
| Total | $2,500.00 | ||||
Table with row selection
| Product | Color | Category | Price | Actions | |
|---|---|---|---|---|---|
WGC Chair Wooden Garden Chair | Black | Furniture | $269.09 | ||
J1R Nike Shoes Jordan 1 Retro OG | Red | Sneakers | $150.00 | ||
O7P OnePluse OnePlus 7 Pro | Nebula Blue | Smartphone | $869.00 | ||
NS Nintendo Nintendo Switch | Neon Blue and Red | Console Gaming | $499.00 | ||
AMM Apple Magic Mouse Apple Magic Mouse | Black | Electronics | $110.29 |
Product Table
Shadcn Table: Flexible, Accessible, and Interactive Data Display
The Shadcn Table component provides a clean and customizable way to display structured data in rows and columns. Built with React and Tailwind CSS, it offers developers complete control over design and functionality. Whether used for analytics dashboards, admin panels, or user listings, the React Table built with Shadcn ensures accessibility, responsiveness, and seamless integration with other UI elements.
What is Shadcn Table?
The Shadcn Table (or React Table) is a minimal yet powerful component for organizing and presenting tabular data. It allows developers to create simple static tables or advanced interactive layouts with sortable columns, selectable rows, and responsive design. The table's basic styled nature provides freedom to implement any aesthetic, making it adaptable for various use cases like financial dashboards, data visualization interfaces, and reports.
Why Use Shadcn Table?
- Highly Customizable: Style every part of the table—from headers to rows—using Tailwind utilities for a consistent look.
- Accessible by Design: Built using semantic HTML (
<table>,<thead>,<tbody>,<tr>,<th>,<td>) and ARIA roles for assistive technologies. - Scalable for Large Data Sets: Efficiently handles both small and large datasets with optimized rendering and clear structure.
- Responsive Layout: Adjusts automatically for smaller screens using Tailwind's responsive utilities.
- Integrates Seamlessly: The React Table works smoothly with sorting, filtering, and pagination components for dynamic data-driven UIs.
Features:
- Composable Structure: Includes
Table,TableHeader,TableRow,TableHead,TableBody,TableCell, andTableCaptionfor fine-grained customization. - Sortable Columns: Implement interactive sorting for better data navigation.
- Selectable Rows: Add checkboxes for selecting multiple rows at once.
- Pagination Support: Easily integrate with pagination components for large data tables.
- Sticky Headers: Keep table headers fixed during scrolling for improved readability.
- Hover & Active States: Customize hover, focus, and active row states for better user feedback.
- Striped Rows: Alternate row backgrounds for visual clarity.
- Empty State Handling: Display clear messages when no data is available.
- Keyboard Accessible: Fully navigable with keyboard input and compliant with ARIA guidelines.
- Responsive Columns: Use Tailwind's responsive utilities (
hidden,md:table-cell) to show or hide columns on different devices.
Production Tips
- Use Clear Headers: Keep column titles concise yet descriptive for easy scanning.
- Enhance Accessibility: Use
<caption>to describe the table purpose and<th scope="col">or<th scope="row">for better screen reader compatibility. - Optimize for Mobile: On small screens, consider collapsing table columns into cards or using horizontal scroll for large datasets.
- Highlight Key Rows: Use Tailwind's
bg-mutedorborder-primaryclasses to emphasize specific data rows. - Combine with Pagination: When handling large datasets, use pagination for better performance and UX.
- Avoid Overcrowding: Limit the number of columns for better readability, or group related data using nested tables.
- Add Contextual Feedback: Use colors or badges to convey status (e.g., success, pending, error) directly in table cells.
Integration With Other Components
The Shadcn Table integrates effortlessly with various other Shadcn components to create interactive and efficient data-driven interfaces. You can pair it with the Shadcn Data Table for advanced sorting, filtering, and searching functionalities.
Combine it with the Shadcn Pagination component to handle large datasets smoothly with user-friendly navigation controls. Use Shadcn Checkbox for row selection and bulk actions within the table.
Integrate Shadcn Badge to display status labels or counts directly inside table cells. Additionally, Shadcn Dropdown Menu can be used for row-specific actions like edit, view, or delete, enhancing the table's interactivity.
Additionally, integrating the Shadcn Accordion lets you expand individual rows or sections to reveal detailed, nested information without cluttering the table layout.