Components

Tanstack Table

A powerful datatable for your app built with TanStack Table.

Source code

Click to see the source code for this component on GitHub. Feel free to copy it and adjust it for your own use.

Installation

Usage

Regular

ID
Amount
Status
Email
L6HtZkxPGg$662.00
failed
kerry.kertzmann@yahoo.com
f1UQnJaGsh$894.00
processing
gladyce.larson@hotmail.com
dggtWzH1tI$90.00
failed
kameron40@gmail.com
TY5yDmRWVR$858.00
pending
alfonso5@hotmail.com
RTE1cTsCXO$113.00
processing
felipe_lemke68@gmail.com
Rows per page:
Page 1 of 20

Basic

NameEmailLocationStatusBalance
Casandra Krajcik-Toyclare.nicolas@gmail.comWest Douglasborough
Active
$966.90
Ceasar Bogansadie_dibbert@gmail.comSouth Roland
Inactive
$908.96
Rafaela Cummerataquinton86@gmail.comJoaquinstad
Active
$275.36
Dominic Fadelleta_ortiz25@yahoo.comHeidenreichland
Inactive
$677.14
Orlando Roobeleonore43@hotmail.comFort Destanyberg
Active
$920.60
Total$3,748.96

Basic data table made with TanStack Table

Filters

Keyword
Intents
Volume
CPC
Traffic
Link
react components
I
N
2.5K2.588https://www.originui.com
buy react templates
C
T
1.9K4.7565https://www.originui.com/templates
react ui library
I
C
3.2K3.25112https://www.originui.com/docs
tailwind components download
T
8901.9545https://www.originui.com/download
react dashboard template free
C
T
4.1K5.5156https://www.originui.com/templates/dashboard
how to use react components
I
1.2K1.2542https://www.originui.com/tutorials
react ui kit premium
C
T
7606.828https://www.originui.com/pricing
react component documentation
I
N
9501.835https://www.originui.com/docs/components

Data table with filters made with TanStack Table

Simple (Auto-Generated Columns)

Shows zero-config usage with automatic column generation from data keys.

Id
Date
Status
Email
Amount
46002024-03-11T15:30:00paidjames.anderson@example.com594
45992024-03-11T10:10:00failedmia.white@example.com276
45982024-03-11T08:50:00refundedwilliam.brown@example.com315
45972024-03-10T19:45:00paidemma.davis@example.com529
45962024-03-10T15:55:00paidethan.harris@example.com639
Rows per page:
Page 1 of 1

Custom Columns

Custom column definitions with formatted cells and styled badges.

#
Date
Status
Email
Amount
#4600Mar 11, 15:30Paidjames.anderson@example.com
$594.00
#4599Mar 11, 10:10Failedmia.white@example.com
$276.00
#4598Mar 11, 08:50Refundedwilliam.brown@example.com
$315.00
#4597Mar 10, 19:45Paidemma.davis@example.com
$529.00
#4596Mar 10, 15:55Paidethan.harris@example.com
$639.00
Rows per page:
Page 1 of 1

With Slots

Using slots to customize cell rendering with avatars and dropdowns.

User
Email
Role

Lindsay Walton

@lindsayw

lindsay.walton@example.comMember

Courtney Henry

@courtneyh

courtney.henry@example.comAdmin

Tom Cook

@tomc

tom.cook@example.comMember

Whitney Francis

@whitneyf

whitney.francis@example.comAdmin
Rows per page:
Page 1 of 1

Table footer with column totals using aggregation functions.

#
Description
Qty
Amount
1Web Design
3
$1,200.00
2Development
5
$2,400.00
3Consulting
2
$800.00
4Support
4
$600.00
Total
14
$5,000.00
Rows per page:
Page 1 of 1

Clean table without footer controls for simple layouts.

Name
Email
Status
John Doejohn@example.comActive
Jane Smithjane@example.comActive
Bob Johnsonbob@example.comInactive

Loading State

Table with loading indicator - includes custom loader slot support.

ID
Product
Category
Price
Stock
3872Unbranded Silk SausagesKids
$260.22
61
6595Soft Silk SoapBaby
$405.19
24
4876Tasty Granite ShoesClothing
$31.69
3
9218Practical Cotton FishBeauty
$484.78
98
6331Soft Plastic ShoesShoes
$343.05
68
Rows per page:
Page 1 of 3

Server-Side Pagination

Manual pagination with server-side data fetching and search. Enable manual-pagination prop and listen to the @update:pagination event.

95 total users
ID
Name
Email
Role
Department
Status
#NX9WPDewitt Whitemelba.streich@gmail.comAdminEngineeringInactive
#_ARIHVicente Schmidt IVemerald_bednar79@gmail.comMemberSalesActive
#1VWO6Bradly Dach Iceasar.ebert@hotmail.comViewerMarketingActive
#XPAZEJordon Feilmauricio36@yahoo.comAdminSupportActive
#TTSYGLaury Bergejerrell.thiel@hotmail.comMemberEngineeringActive
#TISODValentine Sporeralejandrin_littel@gmail.comViewerSalesInactive
#UNHKQTremaine Bradtke MDceasar.hermann@hotmail.comAdminMarketingActive
#PB8W9Lyle Shieldsshany97@gmail.comMemberSupportActive
#7FGYNErwin Wisokyorland68@gmail.comViewerEngineeringActive
#3UJY7Dr. Jamison Macejkovicpink83@gmail.comAdminSalesActive
Rows per page:
Page 1 of 10

Expansion

Expandable rows to display additional details using the expansion feature.

Name
Email
Role
Status
Fidel Langoda.crooks@gmail.comViewerInactive
Duncan Homenick-Douglastaryn.okeefe53@yahoo.comAdminActive
Soledad Crooksambrose_stoltenberg@hotmail.comViewerActive
Brandy Metz-Gleasonnoe_morar42@gmail.comAdminInactive
Carroll Powlowskijaclyn.sanford0@yahoo.comMemberActive
Asa Bartonelnora.flatley10@gmail.comAdminInactive
Antonette Balistrericortney_stehr@yahoo.comViewerInactive
Dewey Adamsisrael43@hotmail.comAdminInactive
Moshe McKenziemerl.marquardt@gmail.comAdminActive
Olivia Leschgabriella51@yahoo.comViewerInactive
Rows per page:
Page 1 of 2

Row Pinning

Pin rows to the top or bottom. The table emits update:rowPinning and row-pin so parents can sync state.

Use the pin menu to choose top, bottom, or unpin.
Pin
Name
Email
Department
Status
Shane Murraysherry82@yahoo.comSupportInactive
Dave Emmerichgriffin_greenfelder@gmail.comSalesInactive
Marietta Beattyamani_johnson-damore57@hotmail.comEngineeringInactive
Delfina Kilbackwebster_jones89@yahoo.comSalesInactive
Murphy Ankundingtre74@yahoo.comSupportActive
Dallin Harber-Schinnerignacio_lind99@yahoo.comEngineeringInactive
Leone Schowalteradelbert.harber@yahoo.comSupportActive
Shanie Kessleradrienne.zulauf27@hotmail.comSalesActive
Maximillian Medhurst DVMcarmelo.treutel58@gmail.comEngineeringInactive
Curtis Hermannneha.hoppe@hotmail.comMarketingActive
Rows per page:
Page 1 of 2

Column Pinning

Opt-in header pin buttons let you pin columns left or right. Pinned columns are sticky to the table edges; override --ui-table-pinned-bg in CSS if you need a different background. Use enable-column-pinning and show-column-pin-buttons to render the controls, and listen to update:columnPinning / column-pin if you need to sync state.

Pin columns with the header menu: choose start, end, or unpin.
ID
First Name
Last Name
Email
Phone
Address
Department
Status
-RV7WMJaclynGreenholtjaclyn_greenholt58@gmail.com(389) 286-3426599 Borer Unions Apt. 499MarketingInactive
S3S0G7HiramFriesenhiram.friesen@hotmail.com(506) 864-9553910 Low Road Suite 395MarketingActive
NVKPKWMarvinOndrickamarvin.ondricka15@gmail.com(741) 974-093981827 Smith Vista Apt. 326EngineeringInactive
NFUUDKCheyenneBoehmcheyenne.boehm31@yahoo.com(462) 605-110913932 Ari Lakes Suite 258EngineeringInactive
WTVIQDNikkiKunzenikki.kunze94@hotmail.com(684) 513-9604809 Wood Lane Suite 713MarketingActive
AMKKO2ElviraSchinnerelvira.schinner@yahoo.com(903) 519-72812718 Post Road Suite 528SupportInactive
YJAVY9LempiLindlempi_lind@gmail.com(352) 626-4497821 Oak Avenue Suite 895SalesInactive
DDUOFCThoraMcGlynnthora_mcglynn@gmail.com(930) 344-3991679 E Washington Street Apt. 249EngineeringActive
Rows per page:
Page 1 of 1
Pinned columns
None

Context Menu

Name
Email
Role
Department
Status
Joanny Greenansel_kuhlman@yahoo.comAdminSalesActive
Claudia Wisozkjerry.yost-flatley87@hotmail.comMemberSupportActive
Mr. Dakota Beattyjace46@gmail.comViewerSalesActive
Gerald Thompsonjanet.kovacek@gmail.comMemberSupportActive
Sadye Jerdekate80@hotmail.comMemberSalesActive
Alton Lebsacktheron_murazik3@yahoo.comAdminMarketingInactive
Tavares Zemlakalexandro75@yahoo.comAdminSalesInactive
Omar O'Connellmaritza_marvin7@yahoo.comAdminSupportActive
Hubert Corwinhaylee_cummings99@hotmail.comViewerSalesInactive
Caleigh Heaneytito_gislason@gmail.comMemberSupportActive
Rows per page:
Page 1 of 2