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
8QmDY6Txeu$467.00
pending
angelo.torphy@yahoo.com
om7BAbU4cQ$759.00
pending
jamie68@yahoo.com
FvqSdrXfp4$915.00
pending
adell18@yahoo.com
YLn0samok1$728.00
pending
christy.turcotte-glover@hotmail.com
PiTGYBfptW$170.00
failed
kolby11@gmail.com
Rows per page:
Page 1 of 20

Basic

NameEmailLocationStatusBalance
Juanita Schaeferhank.wintheiser33@hotmail.comAuerchester
Inactive
$932.08
Mr. Laurence Altenwertheryn.white54@gmail.comBeavercreek
Inactive
$734.35
Irma Kossnicole.muller@hotmail.comAniyahworth
Active
$879.27
Kate Cruickshank-Denesikberyl_ohara71@gmail.comHilpertboro
Active
$1,128.81
Sheri Mrazmabelle.kub47@gmail.comPort Sydneeton
Active
$608.49
Total$4,283.00

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
8243Soft Silk MouseElectronics
$44.81
40
2018Intelligent Rubber SaladShoes
$177.75
13
4906Electronic Ceramic ShirtMusic
$36.71
61
4282Small Granite PizzaClothing
$12.70
3
9426Awesome Steel MouseBooks
$298.97
21
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
#VT48WBrenda Lednersabrina.crona@gmail.comAdminEngineeringInactive
#3VPARToby Kovacekraul84@hotmail.comMemberSalesActive
#Q3V2YJessie Hoppecelestino_bayer@gmail.comViewerMarketingActive
#H3NMWMamie Gloveresther_howe42@gmail.comAdminSupportActive
#2KPUFOpal Krajcikapril.ward5@hotmail.comMemberEngineeringActive
#YTHDXSonya Osinskiantonette_kreiger@hotmail.comViewerSalesInactive
#XKTLUElizabeth Schultzyazmin_hartmann@hotmail.comAdminMarketingActive
#UVPCCDesiree Fayhobart.gleichner-ritchie@gmail.comMemberSupportActive
#EK_S6John Leschfredy.bergnaum@hotmail.comViewerEngineeringActive
#AIDG2Rodolfo Daremonte.mosciski20@yahoo.comAdminSalesActive
Rows per page:
Page 1 of 10

Expansion

Expandable rows to display additional details using the expansion feature.

Name
Email
Role
Status
Tony Mohrnicolas69@gmail.comAdminActive
Raul Schaeferjamarcus.daniel81@yahoo.comViewerInactive
Silvia Haneosvaldo57@hotmail.comViewerInactive
Mr. Sam Hartmannthaddeus_towne@gmail.comMemberActive
Allan Balistreriiliana_dubuque@yahoo.comMemberActive
Ian Hermistoncarlee_kiehn@hotmail.comViewerActive
Terence Huelswinona_kassulke-pollich99@hotmail.comMemberActive
Darin Paucekeda74@gmail.comMemberActive
Rodney Kubcandice91@yahoo.comAdminActive
Antonio Corkery MDhudson.koepp@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
Ms. Janice Leannonemiliano.dare@yahoo.comEngineeringActive
Robin Spinkahelene80@gmail.comMarketingActive
Jenna Bernierelza74@yahoo.comEngineeringActive
Carl Rolfson-Zemlakdianna_rowe@yahoo.comSupportInactive
Vickie Monahan IIItania_dietrich77@hotmail.comSupportActive
Miss Loretta Cristkatlynn98@yahoo.comSupportInactive
Randy Leannon DDScurtis.rosenbaum@yahoo.comSalesInactive
Matt Rice Vhassan.damore@hotmail.comSalesInactive
Flora O'Reillylura_lakin74@yahoo.comSalesInactive
Rita Welchkiara.crooks7@yahoo.comEngineeringInactive
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
K_MG0EAbelMooreabel.moore@hotmail.com(254) 407-7756474 Kyla Parkway Apt. 699SalesActive
XMQY7QAbelMooreabel.moore@hotmail.com(454) 654-816938555 Jast Stream Suite 754EngineeringActive
F_PERYAbelMooreabel_moore96@yahoo.com(656) 453-233432859 Dare Heights Apt. 262EngineeringActive
K4HMDMAbelMooreabel.moore25@hotmail.com(587) 608-1530535 State Street Apt. 703EngineeringActive
SOVU3NAbelMooreabel.moore25@yahoo.com(420) 889-41281301 Hoppe Fall Suite 183EngineeringInactive
PI6PBTAbelMooreabel_moore16@gmail.com(302) 701-3041942 Murray Hills Suite 821SupportActive
40BKGZAbelMooreabel_moore41@gmail.com(781) 778-4862170 Brooks Haven Suite 916SalesActive
ZLYKV6AbelMooreabel.moore@yahoo.com(442) 823-66481202 Price Fork Apt. 562SupportInactive
Rows per page:
Page 1 of 1
Pinned columns
None

Context Menu

Name
Email
Role
Department
Status
Donna Littelmaegan66@hotmail.comAdminMarketingInactive
Rosemary Hermistonmargie.wolff@hotmail.comViewerSalesInactive
Krista Pourosamos_mills27@yahoo.comViewerMarketingActive
Casey Reichel PhDlolita_nienow89@gmail.comMemberEngineeringActive
Garry Aufderharmaida49@hotmail.comViewerEngineeringInactive
Elbert Keebleraryanna.donnelly92@hotmail.comViewerSalesActive
Seth Bahringer Jr.myles91@yahoo.comMemberSalesActive
Whitney Hillsjessica_stracke99@yahoo.comMemberEngineeringInactive
Sue Reicheljabari.schiller@gmail.comAdminEngineeringInactive
Gerardo Lockmancolt61@gmail.comAdminEngineeringInactive
Rows per page:
Page 1 of 2