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
n1Agp0PDvo$88.00
processing
jarrell_schowalter0@yahoo.com
O3HCXFefd1$216.00
pending
phillip_keebler@gmail.com
OqlkDaA0yv$54.00
failed
darwin_krajcik@yahoo.com
9SkerbwVkk$192.00
processing
trudie_harber19@hotmail.com
luXvbOhZQ6$33.00
processing
jaylan74@hotmail.com
Rows per page:
Page 1 of 20

Basic

NameEmailLocationStatusBalance
Stacy Gerholdlenna_langosh12@yahoo.comErdmanmouth
Active
$723.28
Miss Essie Bradtkeguillermo63@yahoo.comAbbottberg
Inactive
$525.43
Kadin Franeygeo_kuvalis@gmail.comPfannerstillside
Inactive
$1,071.86
Amos Moensincere62@hotmail.comNorth Marlen
Inactive
$920.35
Chris Tremblayayden95@hotmail.comFort Ebbaview
Inactive
$152.49
Total$3,393.41

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
2226Frozen Plastic ChairIndustrial
$173.87
52
5843Practical Marble SoapHealth
$27.93
29
8692Small Marble BikeSports
$371.01
36
7232Small Aluminum SausagesMovies
$224.85
48
2658Rustic Silk SoapElectronics
$227.61
18
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
#SING2Neoma Grahampalma62@gmail.comAdminEngineeringInactive
#PZZUIMiss Tamia Berge DVMburnice.schimmel@gmail.comMemberSalesActive
#M8DEBLonie Andersonoran_mann-shields@yahoo.comViewerMarketingActive
#XL8_WMr. Woodrow Langwortheli38@hotmail.comAdminSupportActive
#RULZSOlaf Langworthluis_adams@hotmail.comMemberEngineeringActive
#VIIHRMr. Fausto Leuschkeervin73@gmail.comViewerSalesInactive
#X2HJXSaul Hillsparker62@gmail.comAdminMarketingActive
#1ZSSOChyna D'Amoreludwig90@gmail.comMemberSupportActive
#FLX63Verdie Schambergerliam.cruickshank73@hotmail.comViewerEngineeringActive
#1WRJ6Chauncey Schmidtora_oreilly@gmail.comAdminSalesActive
Rows per page:
Page 1 of 10

Expansion

Expandable rows to display additional details using the expansion feature.

Name
Email
Role
Status
Gerardo Runolfssoncamilla.green@yahoo.comAdminInactive
Caleigh Kleinkarina_oreilly@hotmail.comMemberInactive
Louise Turner Vettie38@yahoo.comAdminInactive
Tia Ullrichrachelle81@yahoo.comViewerActive
Marlin Davissimon_okon26@yahoo.comMemberActive
Florida Kuphalmargaret.heidenreich@yahoo.comMemberActive
Scotty Predovickendrick_howe@yahoo.comMemberActive
Norris Jacobs Jr.scotty_dickens99@yahoo.comViewerActive
Ms. Skylar Moen-Oberbrunnerarlie98@gmail.comAdminInactive
Jerrod Kochleanna.bechtelar10@gmail.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
Katelin Mohrsid.medhurst0@gmail.comSupportInactive
Cicero Toyroy77@yahoo.comSalesInactive
Roger Kossmike.simonis@yahoo.comEngineeringActive
Kennith Kozeyjaylin.auer38@yahoo.comMarketingInactive
Agnes Bechtelar DDShayden.ritchie@gmail.comEngineeringActive
Peter Corkery DDSkamren_reichert@yahoo.comSupportActive
Destin Millsmorris_hansen@hotmail.comMarketingActive
Stewart Trompuriel_becker-ritchie77@gmail.comSupportInactive
Justus Zboncakmelvin6@yahoo.comEngineeringInactive
Aimee Rosenbaumwallace.rogahn@hotmail.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 start, end, or unpin.
ID
First Name
Last Name
Email
Phone
Address
Department
Status
DMKU_0BrianneBorerbrianne_borer@gmail.com(212) 255-320950257 S 3rd Street Apt. 211SalesInactive
JUESIFBradenTillmanbraden.tillman@yahoo.com(983) 213-2382309 Rutherford Track Apt. 542MarketingActive
HRS7NMDoreenRobel-Wintheiserdoreen.robel-wintheiser80@hotmail.com(403) 420-7710222 Pine Street Suite 904SupportInactive
DVAIY6PatriciaHowepatricia.howe@gmail.com(846) 832-2562468 King Squares Apt. 189SalesActive
VFEJUYLelahKesslerlelah_kessler74@yahoo.com(477) 459-039289269 Mertz Harbor Suite 569MarketingActive
FVI-LZArturoKundearturo.kunde@gmail.com(423) 323-426854046 The Mews Suite 668EngineeringActive
HGJMEWCatharineWehnercatharine_wehner20@hotmail.com(639) 641-3403563 Moore Radial Apt. 355SalesActive
KR1EMZJeffereyBartonjefferey.barton@yahoo.com(580) 419-644171960 Sheridan Mall Apt. 887EngineeringInactive
Rows per page:
Page 1 of 1
Pinned columns
None

Context Menu

Name
Email
Role
Department
Status
Erich Veumwallace_lemke31@gmail.comMemberSalesInactive
Theresa Grantgisselle79@hotmail.comMemberSalesInactive
Wilmer Wildermanpaxton25@yahoo.comMemberSupportInactive
Julianne Dietrichgriffin64@gmail.comAdminSupportActive
Brielle Feil Sr.kacey.johnson@gmail.comViewerSupportActive
Shane McLaughlin IVpam_huel@gmail.comAdminMarketingInactive
Vickie Kohlermaegan.ebert63@yahoo.comAdminMarketingActive
Amira Abbottrosella_rodriguez@yahoo.comMemberSalesActive
Rahul Romagueraamy.runolfsdottir56@yahoo.comMemberSalesInactive
Javier Schneiderthea_king2@yahoo.comMemberMarketingActive
Rows per page:
Page 1 of 2