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
nxQUrsgDdK$982.00
processing
marty.price@gmail.com
Khi90GJlB3$614.00
success
ernesto_welch@yahoo.com
3ZMuNlkzU2$509.00
processing
yvonne_ward15@hotmail.com
d1Gr2h2I27$875.00
success
haskell_gleichner75@yahoo.com
HRnpQGi3yU$256.00
failed
brad.keebler@yahoo.com
Rows per page:
Page 1 of 20

Basic

NameEmailLocationStatusBalance
Christopher Feilperry.dietrich85@gmail.comNew Rodger
Inactive
$256.47
Sandy Naderjulian.jones36@hotmail.comSouth Roberto
Inactive
$1,066.68
Ena Daretod.hirthe66@hotmail.comWest Lavernstead
Active
$156.58
Joel Herman MDkristin63@hotmail.comFort Rufusmouth
Active
$406.52
Barney Little Iruben.lebsack@yahoo.comLake Sylvestercester
Active
$288.49
Total$2,174.74

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
8616Tasty Concrete SausagesShoes
$220.54
70
4513Refined Rubber BallSports
$26.74
84
5811Recycled Wooden CarBaby
$367.89
91
2308Sleek Silk CheeseGrocery
$310.07
71
9576Tasty Silk SaladMovies
$226.87
48
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
#WZH0SMiss Erica Hegmannlorraine_kshlerin@yahoo.comAdminEngineeringInactive
#T0GMURobert Bergstromemilio_strosin11@yahoo.comMemberSalesActive
#FMBPMMs. Sally Kshleringustave.beahan93@gmail.comViewerMarketingActive
#ZZXKCErnest Strackeeleanor.kuhlman-flatley58@yahoo.comAdminSupportActive
#4VNZTDedrick Rodrigueznyasia42@hotmail.comMemberEngineeringActive
#BYSUIKeeley Gorczany-Jerdeal.stamm5@yahoo.comViewerSalesInactive
#MUPGXAraceli Kessler-Danielkeeley_boyle-skiles@hotmail.comAdminMarketingActive
#RKGW7Tricia O'Reillymeredith_langworth@gmail.comMemberSupportActive
#PVCNXNathan Dooleyhelmer23@yahoo.comViewerEngineeringActive
#RLVDSCharlotte Ankundingmarion_runolfsdottir@hotmail.comAdminSalesActive
Rows per page:
Page 1 of 10

Expansion

Expandable rows to display additional details using the expansion feature.

Name
Email
Role
Status
Adam Weissnatcheryl_keebler@gmail.comAdminInactive
Loretta Beckerlori79@gmail.comAdminInactive
Mikel Jacobsonrogelio.bayer@hotmail.comAdminActive
Mrs. Rosemarie Weimannbridie_cummings58@hotmail.comAdminInactive
Eladio Goodwinlincoln_rice59@yahoo.comAdminActive
Gilbert Gibsonurban.balistreri53@gmail.comViewerInactive
Marlon Haleycordie_braun@yahoo.comMemberInactive
Jaylin Boehmbeatrice_mclaughlin@gmail.comMemberActive
Luz Mooremalcolm.bailey26@hotmail.comViewerInactive
Erick Rosenbaumprice42@gmail.comAdminInactive
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
Lucille Hodkiewicz-Spinkanelson63@gmail.comSupportInactive
Michele Kulasloyce41@hotmail.comSupportInactive
Jaydon Schusterjesus_ryan@yahoo.comSalesActive
Dianne Hageneslinda_gorczany89@hotmail.comMarketingActive
Eliseo Homenick Jr.alana.stehr97@gmail.comSupportInactive
Colton Braunoswaldo_runte3@hotmail.comSalesActive
Emilio Rosenbaum-Fishermelody_mohr81@gmail.comMarketingActive
Van Hyattsaul.kshlerin57@hotmail.comMarketingActive
Caroline Lednerjana.crona36@gmail.comSalesInactive
Susan Kundedoreen18@hotmail.comEngineeringActive
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 left, right, or unpin.
ID
First Name
Last Name
Email
Phone
Address
Department
Status
JVHMMSDallinRathdallin_rath@yahoo.com(260) 545-4586852 Erika Haven Suite 973SalesInactive
4ZJXHWDeonKuvalisdeon.kuvalis79@hotmail.com(523) 394-59442621 Vicarage Lane Suite 793SupportInactive
YNWLQHCharlieCronacharlie_crona43@hotmail.com(773) 657-420432403 The Meadows Suite 371EngineeringInactive
ADBW1UMyrticeGreenfeldermyrtice.greenfelder@gmail.com(275) 642-874671324 Park Street Apt. 259MarketingInactive
ND3QOALaylaKinglayla.king91@hotmail.com(588) 708-853023555 Ash Close Apt. 537SalesActive
GLFWDVPamWill-Thielpam_will-thiel44@hotmail.com(369) 294-449373244 Cynthia Throughway Apt. 940SalesInactive
JRKEO5LuciaEbertlucia_ebert@gmail.com(684) 665-041637068 Lang Curve Apt. 423SupportInactive
EO0XSULyleBuckridgelyle.buckridge66@gmail.com(685) 675-7758512 Clinton Street Apt. 495SalesInactive
Rows per page:
Page 1 of 1
Pinned columns
None

Context Menu

Name
Email
Role
Department
Status
Dave Sporergregg_dach-ebert68@hotmail.comAdminSalesActive
Elbert Carrolllacy_ritchie@gmail.comAdminMarketingActive
Verner Ortiz IIIsydney_bins@yahoo.comAdminEngineeringActive
Joanny Maggiopenelope_halvorson@hotmail.comMemberSupportActive
Norbert Willeulah60@yahoo.comAdminSupportActive
Mrs. Claudine Keeblernayeli.mayer@gmail.comMemberSupportActive
Preston Langemmett7@yahoo.comViewerMarketingInactive
Leo Hoppeariane_haag84@hotmail.comMemberSalesActive
Mrs. Aurelia Kleingeorge.bartell@gmail.comAdminSalesInactive
Ellis Keelingeleonore.cruickshank@gmail.comViewerMarketingActive
Rows per page:
Page 1 of 2