Infinite Table vs KendoReact Grid

KendoReact has a free Grid and a Premium one with more features. Infinite Table has every feature in one zero-dependency package, free to use with a footer.

Facts last verified on November 11, 2026, with a source link for each one.

TL;DR

The KendoReact Grid comes in two flavors. KendoReact Free includes the Grid with column resizing and reordering, a filter row, in-cell editing, CSV export and paging, free in production. Premium (from $649 per developer per year) adds multi-column sorting, grouping, column pinning, column groups, master-detail, row virtualization, clipboard, Excel export and the Chart Wizard. Pivoting and tree data are separate Premium components.

Infinite Table has grouping, pivoting, tree data, master-detail and pinning in the free package, with zero runtime dependencies. KendoReact is ahead on export, clipboard, charts, accessibility (WCAG 2.2 AA) and RTL.

When to choose which

Choose KendoReact Grid if

  • The free KendoReact Grid covers what you need.
  • You need Excel or PDF export, clipboard, the Chart Wizard, or documented WCAG 2.2 AA compliance.
  • You use other KendoReact components and want one design system.
  • You want commercial support from a large vendor.

Choose Infinite Table if

  • You need grouping, pivoting, tree data or master-detail without a Premium license.
  • You want pivoting and tree data in the grid itself, not in separate components.
  • Dependency count matters to you.
  • You use Vue as well as React.

Features

22 of the 30 features below are built into Infinite Table, every one in the free package. KendoReact Grid has 28 built in, and 2 more partly or as headless logic, counting its most complete edition (KendoReact (Premium)). Each KendoReact Grid entry links to its documentation.

  • Built in
  • Partial / with limits
  • Logic only (headless)
  • Not available
  • Pro = needs that paid edition
Features of Infinite Table and KendoReact Grid, by edition
FeatureInfinite TableFree with footer · $395 per developer per yearKendoReact FreeProprietary (free) · FreeKendoReact (Premium)Commercial (EULA) · From $649 per developer per year
Rendering
Row virtualizationOnly the visible rows are rendered, out of the box.
Yessource
NoIn KendoReact (Premium)
Yessource
Column virtualizationOnly the visible columns are rendered, out of the box.
Yessource
Yessource
Yessource
Columns
Multi-column sortingBuilt-in sorting UI, including sorting by several columns.
Yessource
PartialFree: sorting by one column.source
YesPremium: multi-column sorting.source
Column filtersBuilt-in filter UI: a filter row, header filters or a filter menu.
YesFilter row with operators, client-side or server-side.source
YesFilter row and quick filter are free; column-menu and checkbox filters are Premium.source
Yessource
Column resizingUsers drag to resize columns.
Yessource
Yessource
Yessource
Column reorderingUsers drag and drop columns to reorder them.
Yessource
Yessource
Yessource
Column pinningPin (freeze) columns to the left or right.
Yessource
NoIn KendoReact (Premium)
Yessource
Column groupsMulti-level, grouped column headers.
Yessource
NoIn KendoReact (Premium)
Yessource
Column menuA built-in column header menu (sort, hide, pin...).
Yessource
NoIn KendoReact (Premium)
Yessource
Grouping and analysis
Row groupingGroup rows by one or more columns, with expand and collapse.
Yessource
NoIn KendoReact (Premium)
Yessource
AggregationsAggregated values (sum, average...) for groups or totals.
Yessource
NoIn KendoReact (Premium)
YesGroup aggregates.source
PivotingPivot rows into dynamically generated columns.
Yessource
NoIn KendoReact (Premium)
PartialIn the separate PivotGrid component, not in the Grid.source
Tree dataHierarchical (tree) rows.
Yessource
NoIn KendoReact (Premium)
PartialIn the separate TreeList component, not in the Grid.source
Master-detailExpandable detail rows with custom content or a nested grid.
Yessource
NoIn KendoReact (Premium)
Yessource
Server data
Lazy loadingLoad rows from a server in batches as the user scrolls.
Yessource
NoIn KendoReact (Premium)
YesVirtual scrolling with remote data.source
Server-side sort, filter and groupBuilt-in support for sorting, filtering and grouping on the server.
YesSorting, filtering, grouping and pivoting can all run on the server.source
NoIn KendoReact (Premium)
Yessource
Pagination UIA built-in pager.
NoNo pager UI. Live pagination loads the next page as you scroll.source
Yessource
Yessource
Editing and interaction
Cell editingInline cell editing with built-in editors.
Yessource
YesIn-cell editing is free; other edit modes are Premium.source
Yessource
Row selectionSelect rows, including checkbox selection.
Yessource
YesMultiple-row selection is Premium.source
Yessource
Cell selectionSelect multiple cells or ranges of cells.
Yessource
YesMulti-range selection is Premium.source
Yessource
Keyboard navigationMove between cells with the keyboard.
Yessource
Yessource
Yessource
Context menuA built-in cell or row context menu.
Yessource
NoIn KendoReact (Premium)
Yessource
Row drag and dropReorder rows by dragging them.
No
Yessource
Yessource
Export and charts
ClipboardCopy (and paste) cells, built in.
No
NoIn KendoReact (Premium)
Yessource
CSV exportBuilt-in export to CSV.
No
Yessource
Yessource
Excel exportBuilt-in export to Excel (.xlsx).
No
NoIn KendoReact (Premium)
Yessource
Integrated chartsChart grid data from inside the grid.
NoCells can render any component, for example sparklines.source
NoIn KendoReact (Premium)
YesThrough the Chart Wizard.source
Styling and accessibility
Theming with CSS variablesTheme the grid through CSS custom properties or design tokens.
Yessource
Yessource
Yessource
Documented accessibilityARIA roles and screen reader support, documented by the vendor.
NoKeyboard navigation is built in, but ARIA roles and screen reader support are not documented.
Yessource
Yessource
Right-to-leftRight-to-left layout support.
No
Yessource
Yessource

Side by side

Live side-by-side demo: coming soonGrouping and pinning in both grids. Group rows and pin columns in KendoReact (Premium) and in Infinite Table.Until then, try the full Infinite Table demo or see the benchmark.

Licensing and pricing

List prices as published by each vendor, in US dollars. Follow the source links for the full terms.

Editions, licenses and prices
EditionLicenseList priceConditionsDeployment
Infinite TableCommercial (EULA)$395 per developer per yearVolume discounts: 5% from 3 developers, 10% from 5, 15% from 10. For 20 or more developers, email us.sourceEvery feature is free to use, in any product, as long as the "Powered by Infinite Table" footer stays visible. A license removes the footer and adds email support.Development licenses only: no deployment, application or SaaS licenses.
KendoReact FreeProprietary (free)FreesourceFree in production, commercial use included, with no license key. Includes the Grid with a subset of its features; Premium features need a license.None.
KendoReact (Premium)Commercial (EULA)From $649 per developer per yearBy support level: $649 Lite, $749 Priority, $1,199 Ultimate. Also included in Kendo UI and Telerik DevCraft bundles.source30-day trial, not for production.No deployment fees: only developers using the components need licenses.

Bundle size and dependencies

Every dependency is code you ship and a package you have to trust and keep updated. Infinite Table has none.

Bundle size and dependencies
PackageJS, min + gzipCSS, min + gzipRuntime dependenciesFrom other publishers
Infinite Table for React@infinite-table/infinite-react@10.1.4145 kB5.7 kB00
Infinite Table for Vue@infinite-table/infinite-vue@10.1.4126 kB5.4 kB00
KendoReact Grid@progress/kendo-react-grid@17.0.0242 kB105 kB90
list@babel/runtime@7.29.13, @isaacs/nonrecursive-glob-match@1.1.0, @progress/kendo-common@1.1.5, @progress/kendo-csv@1.0.0, @progress/kendo-data-query@1.7.4, @progress/kendo-date-math@1.5.20, @progress/kendo-dateinputs-common@0.4.13, @progress/kendo-draggable-common@0.2.3, @progress/kendo-drawing@1.25.7, @progress/kendo-file-saver@1.1.3, @progress/kendo-inputs-common@3.1.4, @progress/kendo-intl@3.2.1, @progress/kendo-licensing@1.13.0, @progress/kendo-popup-common@1.9.5, @progress/kendo-react-animation@17.0.0, @progress/kendo-react-buttons@17.0.0, @progress/kendo-react-common@17.0.0, @progress/kendo-react-conversational-ui@17.0.0, @progress/kendo-react-data-tools@17.0.0, @progress/kendo-react-dateinputs@17.0.0, @progress/kendo-react-dialogs@17.0.0, @progress/kendo-react-dropdowns@17.0.0, @progress/kendo-react-form@17.0.0, @progress/kendo-react-indicators@17.0.0, @progress/kendo-react-inputs@17.0.0, @progress/kendo-react-intl@17.0.0, @progress/kendo-react-labels@17.0.0, @progress/kendo-react-layout@17.0.0, @progress/kendo-react-notification@17.0.0, @progress/kendo-react-popup@17.0.0, @progress/kendo-react-progressbars@17.0.0, @progress/kendo-react-tooltip@17.0.0, @progress/kendo-react-treeview@17.0.0, @progress/kendo-react-upload@17.0.0, @progress/kendo-smartpaste-common@1.0.0, @progress/kendo-svg-icons@5.5.0, @progress/kendo-theme-core@14.10.0, @progress/kendo-theme-default@14.10.0, @progress/kendo-theme-utils@14.10.0, @progress/kendo-webspeech-common@1.0.1, @progress/pako-esm@1.0.2, ansi-regex@5.0.1, ansi-styles@4.3.0, balanced-match@4.0.4, brace-expansion@5.0.13, buffer-equal-constant-time@1.0.1, cliui@8.0.1, color-convert@2.0.1, color-name@1.1.4, csstype@3.2.3, dom-helpers@5.2.1, ecdsa-sig-formatter@1.0.11, emoji-regex@8.0.0, escalade@3.2.0, get-caller-file@2.0.5, glob@14.0.4, is-fullwidth-code-point@3.0.0, js-tokens@4.0.0, jsonwebtoken@9.0.3, jwa@2.0.1, jws@4.0.1, lodash.includes@4.3.0, lodash.isboolean@3.0.3, lodash.isinteger@4.0.4, lodash.isnumber@3.0.3, lodash.isplainobject@4.0.6, lodash.isstring@4.0.1, lodash.once@4.1.1, loose-envify@1.4.0, lru-cache@11.5.3, minimatch@11.0.8, minipass@7.1.3, ms@2.1.3, object-assign@4.1.1, path-scurry@3.0.0, prop-types@15.8.1, react-is@16.13.1, react-transition-group@4.4.5, require-directory@2.1.1, safe-buffer@5.2.1, semver@7.8.6, string-width@4.2.3, strip-ansi@6.0.1, tslib@1.14.1, tslib@2.8.1, tslib@2.9.1, wrap-ansi@7.0.0, y18n@5.0.8, yargs-parser@21.1.1, yargs@17.7.3
51

Measured on November 11, 2026 with the latest versions on npm. Runtime dependencies: every package that npm install adds besides the grid's own packages and the framework, including required peer dependencies. JS / CSS: esbuild 0.25.10 bundle of the minimal getting-started usage, minified, React or Vue left out, gzip level 9 (kB = 1,000 bytes). Fonts and images are not counted. Numbers include required peers such as a design system, so they are lower if your app already ships those. The measurement script is open source: run it to reproduce or update these numbers.

Framework support

Supported frameworks
FrameworkInfinite TablesourceKendoReact Gridsource
ReactYesYes
VueYesNo
  • Infinite Table: React 18+ (@infinite-table/infinite-react) and Vue 3.4+ (@infinite-table/infinite-vue), same features and version.
  • KendoReact Grid: KendoReact is React-only; Progress sells separate Kendo UI products for Angular, Vue and jQuery.

Migrating from KendoReact Grid

KendoReact uses <GridColumn> children; Infinite Table uses a columns object, and data operations move to <DataSource>.

KendoReact Grid

import { Grid, GridColumn } from '@progress/kendo-react-grid';
import '@progress/kendo-theme-default/dist/all.css';

type Car = { id: number; make: string; model: string; price: number };

const data: Car[] = [
  { id: 1, make: 'Tesla', model: 'Model Y', price: 64950 },
  { id: 2, make: 'Ford', model: 'F-Series', price: 33850 },
];

export function Cars() {
  return (
    <Grid
      data={data}
      dataItemKey="id"
      sortable={true}
      defaultSort={[{ field: 'make', dir: 'asc' }]}
      style={{ height: 500 }}
    >
      <GridColumn field="make" title="Make" />
      <GridColumn field="model" title="Model" width="200px" />
      <GridColumn field="price" title="Price" />
    </Grid>
  );
}

Infinite Table

import { DataSource, InfiniteTable } from '@infinite-table/infinite-react';
import type { InfiniteTablePropColumns } from '@infinite-table/infinite-react';
import '@infinite-table/infinite-react/index.css';

type Car = { id: number; make: string; model: string; price: number };

const data: Car[] = [
  { id: 1, make: 'Tesla', model: 'Model Y', price: 64950 },
  { id: 2, make: 'Ford', model: 'F-Series', price: 33850 },
];

const columns: InfiniteTablePropColumns<Car> = {
  make: { field: 'make', header: 'Make' },
  model: { field: 'model', header: 'Model', defaultWidth: 200 },
  price: {
    field: 'price',
    header: 'Price',
    renderValue: ({ value }) => <b>{value}</b>,
  },
};

export function Cars() {
  return (
    <div style={{ height: 500, display: 'flex' }}>
      <DataSource<Car>
        primaryKey="id"
        data={data}
        defaultSortInfo={{ field: 'make', dir: 1 }}
      >
        <InfiniteTable<Car> columns={columns} />
      </DataSource>
    </div>

How KendoReact Grid concepts map to Infinite Table
KendoReact GridInfinite Table
<GridColumn field>columns (an object keyed by column id) with field
titleheader
widthdefaultWidth, or the columnSizing prop
cells (custom cells)renderValue or render
dataItemKeyprimaryKey on <DataSource>
defaultSort, sortdefaultSortInfo, sortInfo on <DataSource>
defaultGroup, group (Premium)defaultGroupBy, groupBy on <DataSource>
detail (Premium)rowDetailRenderer
onDataStateChange + your fetcha data function on <DataSource>, with lazyLoad

What KendoReact Grid does well

  • KendoReact Free includes a production-ready Grid at no cost, commercial use included, with no license key. source
  • Users can build charts from selected rows or cells with the Chart Wizard. source
  • Progress states the Grid is WCAG 2.2 AA and Section 508 compliant. source
  • CSV (free), Excel and PDF (Premium) export, plus clipboard copy and paste. source
  • Part of a large suite of React components with shared design-system themes. source

FAQ

Is the KendoReact Grid free?

Partly. KendoReact Free includes the Grid with a subset of its features, free in production with no license key. Features marked Premium in the KendoReact docs, such as grouping, multi-column sorting, column pinning and Excel export, need a paid license. Every Infinite Table feature is free to use with the footer.

Does the KendoReact Grid support pivoting?

Through the separate KendoReact PivotGrid component, which is Premium. Infinite Table pivots in the grid itself.

Is Infinite Table free to use?

Yes. Every feature is free to use, in any product and in production, as long as the "Powered by Infinite Table" footer stays visible. A license removes the footer and adds email support: $395 per developer per year, with volume discounts and no deployment or application licenses. See pricing.

How many dependencies does KendoReact Grid have, compared to Infinite Table?

Infinite Table has 0 runtime dependencies: installing it adds one package. KendoReact Grid adds 90 (51 from other publishers), counting required peer dependencies but not React. Measured on November 11, 2026 with the latest versions on npm.

How big is KendoReact Grid compared to Infinite Table?

Bundling the minimal getting-started usage with esbuild, minified and gzipped, without React: Infinite Table 145 kB of JavaScript, KendoReact Grid 242 kB. CSS is measured separately; the table above has both.

Try Infinite Table

npm i @infinite-table/infinite-react for React, or npm i @infinite-table/infinite-vue for Vue. Every feature is in the package.

Other comparisons

Sources

Sources and corrections

Every statement about another product links to the vendor's own documentation, pricing or license page. KendoReact Grid facts were last verified on November 11, 2026. Prices are list prices as published; taxes, discounts and quotes can differ. Products change quickly, so please check the vendor's site before you buy.

Spotted something wrong or out of date? We'll fix it: open a correction issue, edit the data on GitHub or email us.

Official links for KendoReact Grid: website, docs, pricing, license, repository.