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
SM9C0c7RZB$886.00
failed
hector66@hotmail.com
bumSyVbCzF$771.00
success
kirstin_lind@gmail.com
vGnDcbCrTs$624.00
failed
ervin83@gmail.com
uaIDLadprM$925.00
failed
june.ohara87@hotmail.com
mzsf3peB64$740.00
failed
tierra.kutch@gmail.com
Rows per page:
Page 1 of 20

Basic

NameEmailLocationStatusBalance
Eulah Marquardthenrietta9@gmail.comWest Marquischester
Active
$399.62
Sylvia Beierjalon39@yahoo.comBradfordtown
Inactive
$306.78
Brendan Blickwanda.collins89@yahoo.comTaylor
Active
$1,119.50
Rosemary Ferryjane4@gmail.comOrange
Active
$510.86
Veronica Treutel PhDnorma.windler@gmail.comMurazikbury
Active
$727.73
Total$3,064.49

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
5382Intelligent Gold PizzaElectronics
$69.36
0
5333Small Bamboo CarKids
$448.96
17
4545Incredible Ceramic SaladOutdoors
$184.12
51
3943Frozen Ceramic HatComputers
$394.63
27
2469Fantastic Bronze TunaToys
$214.19
87
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
#O7LR9Curt Quitzoneaston38@gmail.comAdminEngineeringInactive
#MAJM1Joan Moenluther.altenwerth67@gmail.comMemberSalesActive
#HC9N9Jordy Murphyopal73@gmail.comViewerMarketingActive
#D1X3FMrs. Hazel Hagenes IVlevi28@hotmail.comAdminSupportActive
#LBFIKGarfield Gerlach IIjoshua39@hotmail.comMemberEngineeringActive
#KNZCQOtha Spinkadarian_rutherford39@hotmail.comViewerSalesInactive
#YBPZSDaniella Littlemohammad68@yahoo.comAdminMarketingActive
#9MPOUElaina Greenbrian53@yahoo.comMemberSupportActive
#UBCK6Olivia Rathalison40@hotmail.comViewerEngineeringActive
#O2BFWOla Crooks IVeugene.wyman-olson@yahoo.comAdminSalesActive
Rows per page:
Page 1 of 10

Expansion

Expandable rows to display additional details using the expansion feature.

Name
Email
Role
Status
Ernesto Leffler-Littelpiper_grady81@yahoo.comMemberActive
Darryl Wintheiserlionel_mayer@yahoo.comAdminInactive
Margaretta Kuhlmanclinton.heathcote@gmail.comAdminActive
Nick O'Reilly-Goldner Sr.roger_blick@yahoo.comViewerActive
Wilbert Koeppvicki_flatley96@gmail.comAdminActive
Dawson Paucek-Wittingmariane30@gmail.comViewerActive
Joshuah Gleasoncalista_greenfelder@gmail.comMemberActive
Aurelio Durgan-McLaughlinabigale.ullrich@gmail.comViewerInactive
Vince Jakubowskigarnet_mccullough94@gmail.comViewerInactive
Rodrick Purdysigrid_mcclure48@gmail.comAdminActive
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
Cameron Mraz-Macejkovicsydney_corkery@hotmail.comMarketingInactive
Brooks Grahamwilfred.schimmel@hotmail.comMarketingActive
Patti Schneidermelyna.considine23@yahoo.comSalesActive
Millie Mantejustin83@gmail.comSalesInactive
Martin Bahringerzola.abshire30@hotmail.comEngineeringActive
Miss Kayla Dooleyolive82@hotmail.comMarketingInactive
Jill Kuvalismeta.gerlach24@gmail.comSalesInactive
Miss Frances Strackeanna_feil@yahoo.comEngineeringInactive
Mr. Tomas Bednarharrison.larson60@hotmail.comSupportActive
Bert Hanelarue_durgan11@hotmail.comSalesInactive
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
H4I--TLexiBeerlexi_beer71@yahoo.com(842) 919-404034078 W Main Street Apt. 356SalesActive
B11RKVSheilaFraneysheila_franey49@yahoo.com(721) 234-0622120 Bashirian Rapids Apt. 326SalesActive
-JAVJFMaryamMcClure-Baileymaryam.mcclure-bailey@hotmail.com(322) 932-45816555 Gibson Pike Suite 447SupportInactive
TDJYZQMortonBinsmorton_bins@gmail.com(430) 782-4342243 Petra Gardens Suite 920EngineeringInactive
XUWIJ6LatoyaBuckridgelatoya_buckridge@yahoo.com(207) 466-69572521 Mafalda Shores Apt. 966SalesInactive
OPGJVAHollieAbshirehollie_abshire66@yahoo.com(480) 796-7922160 Hoppe Dam Apt. 175SupportActive
KEJ81ZGarrettFeilgarrett.feil@yahoo.com(215) 263-079529807 O'Reilly Mount Suite 589MarketingInactive
BUVOW1RayBarrowsray_barrows21@yahoo.com(657) 848-483187182 Orpha Heights Suite 956SupportActive
Rows per page:
Page 1 of 1
Pinned columns
None

Context Menu

Name
Email
Role
Department
Status
Mr. Drew Gutkowskimarques_west@hotmail.comMemberSalesActive
Andrea Hammesuna.pollich31@yahoo.comViewerSupportActive
Doug Kulasimmanuel.ratke53@gmail.comViewerSupportActive
Brooke Feesteverett.parker43@hotmail.comMemberEngineeringInactive
Jeanette Beahangordon50@gmail.comViewerEngineeringInactive
Ms. Tonya Bergnaumgrace23@hotmail.comViewerSupportInactive
Hailee Murazikjo7@hotmail.comViewerSalesInactive
Silvia Kuhnmona91@yahoo.comViewerEngineeringInactive
Jordon Marvin Imaryse_schaefer@gmail.comViewerSupportInactive
Miss Elda Dooleyeryn89@gmail.comAdminSupportInactive
Rows per page:
Page 1 of 2