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
I3XRFwMg1Y$166.00
pending
norene27@hotmail.com
xUTNAdAhqk$836.00
processing
alberta.terry22@gmail.com
rNqPOzLf8n$309.00
failed
carroll94@gmail.com
UI9oYkX8sG$725.00
success
arnulfo81@yahoo.com
YQibQnrbAr$52.00
success
bertha.blanda@gmail.com
Rows per page:
Page 1 of 20

Basic

NameEmailLocationStatusBalance
Jackie Kautzermarkus.jakubowski@gmail.comEast Augustineshire
Active
$606.87
Kelvin Turcottejoanne.hammes@yahoo.comWest Carliehaven
Active
$1,194.66
Earline Moorevernon.armstrong@hotmail.comPort Adolfville
Active
$335.77
Andy Wiegandselmer.bradtke@gmail.comSouth Garett
Active
$537.70
Ken Boyerterrance_bernhard@hotmail.comBeahantown
Active
$1,068.09
Total$3,743.09

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
6778Refined Gold ComputerElectronics
$241.62
33
1818Incredible Cotton ShoesBooks
$407.74
78
6783Incredible Metal HatMovies
$306.57
29
8059Sleek Aluminum TowelsOutdoors
$429.76
80
4302Electronic Marble BallOutdoors
$344.16
46
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
#XJCTIRyan MacGyvergiles_brekke24@hotmail.comAdminEngineeringInactive
#TEG0PJorge Romagueracassandra_blick@gmail.comMemberSalesActive
#JQNAPEarline Stromanamara77@gmail.comViewerMarketingActive
#4-8RWMr. Elijah Hilllandrea.armstrong18@yahoo.comAdminSupportActive
#GVGQOMrs. Anthony Purdybilly.sporer77@hotmail.comMemberEngineeringActive
#N-BTDRoy Johnstongreg_price4@yahoo.comViewerSalesInactive
#8GNVEMandy Feeneygeneral_rutherford@hotmail.comAdminMarketingActive
#VOKH9Aaron Stantoneveline.gulgowski-johnston@hotmail.comMemberSupportActive
#Z3C16Selmer Russeljulie.gutkowski@gmail.comViewerEngineeringActive
#D9UEZFreddie Krajcikavis2@gmail.comAdminSalesActive
Rows per page:
Page 1 of 10

Expansion

Expandable rows to display additional details using the expansion feature.

Name
Email
Role
Status
Miss Brandi Roobesta_king@yahoo.comAdminInactive
Bryan Parisian DDSeddie18@hotmail.comAdminInactive
Mable Fritschdelores82@gmail.comAdminActive
Maryse Goodwinsilvia_blanda@yahoo.comAdminInactive
Devante Littledennis_mante@yahoo.comMemberActive
Abbie Bradtketierra.walter81@gmail.comViewerActive
Joy Stammmonte_hauck57@yahoo.comViewerActive
Dr. Jerome Leuschkedillan.smitham@hotmail.comMemberActive
Rahsaan Muellerdesmond.aufderhar14@hotmail.comAdminInactive
Tony Walshjustin89@hotmail.comMemberInactive
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
Mrs. Virginia Reicheldella_stehr23@hotmail.comMarketingActive
Evalyn Voncecilia_rippin@hotmail.comMarketingInactive
Hiram Weberemil12@gmail.comSupportInactive
Fabian Boscoelaine.anderson@gmail.comSalesActive
Carrie Ricemoshe.mcglynn10@hotmail.comSalesInactive
Dr. Adonis Weimannjohnson_schimmel87@hotmail.comSalesInactive
Brandon Lindgrenseth85@gmail.comEngineeringActive
Kole Reillyleticia_mcglynn16@hotmail.comEngineeringActive
Aletha Hillscarrie_hackett6@gmail.comMarketingActive
Vince Greenholtriley.welch@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
F7ZNXBLukeBaileyluke_bailey@yahoo.com(229) 707-602375560 N Cedar Street Suite 837SupportActive
HSFM5FJanisHesseljanis_hessel81@yahoo.com(762) 292-07003487 Hudson Mill Apt. 439SupportActive
ZVUORRMaxineWaelchimaxine_waelchi61@yahoo.com(782) 382-157156837 Schowalter Crossroad Apt. 583SupportActive
IOTIW4DevanteMrazdevante.mraz@gmail.com(220) 388-2888203 Janae Lock Suite 114MarketingInactive
1M8MSDViolaPfannerstillviola.pfannerstill@gmail.com(588) 366-32624762 Cross Lane Suite 273EngineeringActive
XRBQWCNaomiFerrynaomi_ferry@yahoo.com(316) 261-358417748 Karli Green Suite 524EngineeringInactive
BMMXNDGeneStreichgene.streich@hotmail.com(906) 547-30256373 Water Street Suite 520MarketingInactive
WVOH1UMercedesWalshmercedes_walsh@yahoo.com(918) 529-482717873 Lincoln Highway Suite 317SupportInactive
Rows per page:
Page 1 of 1
Pinned columns
None

Context Menu

Name
Email
Role
Department
Status
Dr. Lera Halvorsonvictoria_bruen54@yahoo.comAdminSalesInactive
Dock Breitenbergmakenzie.hammes@yahoo.comViewerSupportActive
Isabel Cronamichelle.kerluke-gleichner97@hotmail.comViewerMarketingActive
Jamey Flatleyalene_schmidt@gmail.comMemberEngineeringActive
Liana Kassulkecoy_franecki@yahoo.comAdminSalesActive
Ole Hellerstella_witting77@hotmail.comViewerSalesActive
Lavonne Turcottejeromy_stark@yahoo.comMemberEngineeringActive
Miss Dave Zboncakmichelle_armstrong96@gmail.comMemberMarketingInactive
Dr. Percy Gleichnerchad_von@hotmail.comMemberMarketingActive
Jennie Kesslerjacob.kertzmann47@hotmail.comViewerEngineeringInactive
Rows per page:
Page 1 of 2