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
bqkhqzWyvz$423.00
success
krystina15@hotmail.com
OKhC1tZRZX$614.00
success
carl78@yahoo.com
D0OGcP7f8f$749.00
pending
rachael_hirthe53@hotmail.com
2FQ8nTNYZj$807.00
processing
derek98@hotmail.com
qRVDmcCwdJ$941.00
failed
destiny36@yahoo.com
Rows per page:
Page 1 of 20

Basic

NameEmailLocationStatusBalance
Leanna Goldnerbernard_grimes@yahoo.comStoltenbergborough
Inactive
$945.23
Ernestina Bartondylan.shanahan0@yahoo.comKristinmouth
Active
$428.15
Miss Vivien Jacobsondeshawn64@gmail.comBernadetteboro
Active
$856.51
Bruce Walkercrystal.halvorson@gmail.comAnnamaeside
Active
$1,130.49
Winfield Zemlakalberta.steuber41@gmail.comAlbertofield
Active
$349.16
Total$3,709.54

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
5571Generic Steel ChairTools
$230.63
32
2972Fantastic Cotton SaladGames
$104.16
31
9269Oriental Silk ChairMusic
$13.04
39
2594Frozen Rubber ShoesComputers
$333.94
50
4756Electronic Steel FishOutdoors
$69.99
5
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
#ZTQO6Isom Beattyclark10@gmail.comAdminEngineeringInactive
#TKDBQKaylah Lednerconnie91@hotmail.comMemberSalesActive
#KGOVMGilberto Boyersammy36@hotmail.comViewerMarketingActive
#Z_XC-Kamren Feeneystewart.stracke32@yahoo.comAdminSupportActive
#XXQZHRegina White-Wizaleanne89@yahoo.comMemberEngineeringActive
#5L_ADRicky Bahringerclaude_schowalter23@gmail.comViewerSalesInactive
#FRN4TGeraldine Muraziklavern.moore@gmail.comAdminMarketingActive
#4INOHGunner Reichertblanca_oreilly@yahoo.comMemberSupportActive
#PSZPSJulius Gulgowskisanford.prosacco@gmail.comViewerEngineeringActive
#FZUCJStephen Wymanconrad_pollich@yahoo.comAdminSalesActive
Rows per page:
Page 1 of 10

Expansion

Expandable rows to display additional details using the expansion feature.

Name
Email
Role
Status
Trisha Powlowskinona_witting@hotmail.comViewerActive
Clay Lubowitzcrystal_mante-vandervort@hotmail.comViewerInactive
Felix Connabdul72@gmail.comViewerInactive
Ernestine Ritchieglen.cummings@hotmail.comViewerInactive
Cletus O'Reillymicheal_von43@hotmail.comAdminInactive
Shawn Gleasonetha92@gmail.comViewerInactive
Ethel Ziemannleo1@yahoo.comAdminActive
Milo Funkethel.ryan14@yahoo.comAdminActive
Curt Parisiancruz58@hotmail.comMemberInactive
Wayne Legros IVjohann_sipes0@hotmail.comViewerActive
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
Mr. Ena Greenanna16@yahoo.comSalesActive
Haley Thompson-Spinkaeve_cartwright40@gmail.comEngineeringActive
Elizabeth Rempelalycia9@yahoo.comEngineeringActive
Muriel Goyetterichard_rodriguez39@yahoo.comSalesInactive
Claire Kshlerindelphia.renner67@gmail.comSalesActive
Mr. Bryon Quitzonkarl.brekke60@gmail.comSalesActive
Lucille Littlebrown_reilly@yahoo.comMarketingActive
Kristin Marquardt-Haagollie_murazik42@hotmail.comEngineeringInactive
Lynda Romagueraleanna_cassin@yahoo.comSupportInactive
Jovan Little IIIesteban.powlowski45@gmail.comSupportInactive
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
R9TPMACameronO'Keefecameron_okeefe@yahoo.com(818) 464-53545705 Gorczany Park Apt. 184SupportInactive
ICEQTSGilesTownegiles_towne@gmail.com(204) 316-806520338 Metz Divide Suite 590EngineeringInactive
BD2KHTWallaceSawaynwallace_sawayn@hotmail.com(667) 914-920528496 Lisa Hills Suite 667MarketingInactive
FMZ74FCaryPouroscary_pouros@yahoo.com(363) 671-1353163 Farrell Lakes Suite 235EngineeringInactive
EXZHVJEldoraBuckridgeeldora_buckridge43@yahoo.com(545) 944-01673617 Field Close Apt. 129EngineeringActive
F1PTHSJeannetteBeierjeannette.beier41@yahoo.com(332) 543-49794733 N Washington Avenue Suite 670SupportActive
6V1HPBLeticiaRitchieleticia.ritchie95@gmail.com(650) 929-47228993 Denesik Bridge Suite 732SupportActive
I_CN8CSamaraOrtizsamara.ortiz@yahoo.com(675) 561-8561171 Morar Mall Suite 425EngineeringActive
Rows per page:
Page 1 of 1
Pinned columns
None

Context Menu

Name
Email
Role
Department
Status
Dr. Craig Swaniawskiangeline37@hotmail.comAdminSalesActive
Vivian Willmseli20@yahoo.comMemberSupportInactive
Ms. Mac Kulas IVedwardo42@gmail.comAdminSalesInactive
Tracy Walter DVMsara41@yahoo.comViewerSupportActive
Miss Jeffry McLaughlinenrique.monahan@hotmail.comViewerMarketingActive
Chelsie Franey Vkeely40@hotmail.comMemberMarketingActive
Maeve Howelljack.kreiger@hotmail.comViewerEngineeringActive
Theodore Franeysonja.nader@hotmail.comViewerSupportActive
Patty Wunschmacie_dickinson-lakin87@hotmail.comMemberMarketingActive
Irving Robelisabel_graham73@hotmail.comViewerEngineeringInactive
Rows per page:
Page 1 of 2