Infinite Table vs Wijmo FlexGrid

Wijmo FlexGrid is a long-standing commercial grid licensed per developer and per deployment hostname. Infinite Table has development licenses only, and is free with a footer.

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

TL;DR

Wijmo FlexGrid is a capable, Excel-like grid: grouping with aggregates, a tree grid, master-detail, column groups, Excel export and clipboard, with pivoting through the separate OLAP module, for JavaScript, Angular, React, Vue and Web Components. A developer license is $799 (perpetual, a year of updates included), and commercial deployments need a hostname license: $499 per hostname, or an annual SaaS license.

Infinite Table has grouping, pivoting, tree data and master-detail in one package with zero runtime dependencies, and needs no deployment licenses: free to use with a footer, $395 per developer per year without it.

When to choose which

Choose Wijmo FlexGrid if

  • You want an Excel-like grid with clipboard, Excel export, accessibility and RTL.
  • You use several frameworks, or plain JavaScript.
  • You prefer a perpetual license, and deployment licensing suits your setup.

Choose Infinite Table if

  • You deploy to many hostnames or run a SaaS product, and want no deployment licensing.
  • You want a free option for commercial use.
  • You want a declarative API instead of a CollectionView object model.

Features

22 of the 30 features below are built into Infinite Table, every one in the free package. Wijmo FlexGrid has 22 built in, and 6 more partly or as headless logic, counting its most complete edition (Wijmo Enterprise). Each Wijmo FlexGrid 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 Wijmo FlexGrid, by edition
FeatureInfinite TableFree with footer · $395 per developer per yearWijmo EnterpriseCommercial (EULA) · $799 per developer
Rendering
Row virtualizationOnly the visible rows are rendered, out of the box.
Yessource
Yessource
Column virtualizationOnly the visible columns are rendered, out of the box.
Yessource
Yessource
Columns
Multi-column sortingBuilt-in sorting UI, including sorting by several columns.
Yessource
Yessource
Column filtersBuilt-in filter UI: a filter row, header filters or a filter menu.
YesFilter row with operators, client-side or server-side.source
YesExcel-style filters (wijmo.grid.filter module).source
Column resizingUsers drag to resize columns.
Yessource
Yessource
Column reorderingUsers drag and drop columns to reorder them.
Yessource
Yessource
Column pinningPin (freeze) columns to the left or right.
Yessource
PartialFrozen and pinned columns on the left.source
Column groupsMulti-level, grouped column headers.
Yessource
Yessource
Column menuA built-in column header menu (sort, hide, pin...).
Yessource
NoThe column picker demo builds one in app code.
Grouping and analysis
Row groupingGroup rows by one or more columns, with expand and collapse.
Yessource
Yessource
AggregationsAggregated values (sum, average...) for groups or totals.
Yessource
Yessource
PivotingPivot rows into dynamically generated columns.
Yessource
YesWith the separate OLAP module (PivotGrid).source
Tree dataHierarchical (tree) rows.
Yessource
Yessource
Master-detailExpandable detail rows with custom content or a nested grid.
Yessource
Yessource
Server data
Lazy loadingLoad rows from a server in batches as the user scrolls.
Yessource
PartialDocumented for OData services.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
PartialServer-side operations through CollectionViews, documented mainly for OData.source
Pagination UIA built-in pager.
NoNo pager UI. Live pagination loads the next page as you scroll.source
Yessource
Editing and interaction
Cell editingInline cell editing with built-in editors.
Yessource
Yessource
Row selectionSelect rows, including checkbox selection.
Yessource
Yessource
Cell selectionSelect multiple cells or ranges of cells.
Yessource
Yessource
Keyboard navigationMove between cells with the keyboard.
Yessource
Yessource
Context menuA built-in cell or row context menu.
Yessource
NoThe demo builds one in app code.
Row drag and dropReorder rows by dragging them.
No
Yessource
Export and charts
ClipboardCopy (and paste) cells, built in.
No
Yessource
CSV exportBuilt-in export to CSV.
No
PartialCSV text through getClipString; saving the file is up to you.source
Excel exportBuilt-in export to Excel (.xlsx).
No
Yessource
Integrated chartsChart grid data from inside the grid.
NoCells can render any component, for example sparklines.source
PartialIn-cell sparklines; charts are separate controls.source
Styling and accessibility
Theming with CSS variablesTheme the grid through CSS custom properties or design tokens.
Yessource
PartialThemed with Sass variables and bundled themes.source
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
Right-to-leftRight-to-left layout support.
No
Yessource

Side by side

Live side-by-side demo: coming soonGrouping and pivoting in both grids. The same rows grouped and pivoted in Wijmo FlexGrid (with the OLAP module) 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.
Wijmo EnterpriseCommercial (EULA)$799 per developerPerpetual developer license with one year of updates and support; renewal $599 per year.source30-day trial with a watermark.Licensed per developer and deployment hostname: 5 non-commercial hostnames included; commercial deployment is $499 per hostname (one-time); SaaS needs an annual SaaS license.

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
Wijmo FlexGrid@mescius/wijmo.react.grid@5.20262.60212 kB18.4 kB7
list@mescius/wijmo.grid.detail@5.20262.60, @mescius/wijmo.grid@5.20262.60, @mescius/wijmo.input@5.20262.60, @mescius/wijmo.interop.grid@5.20262.60, @mescius/wijmo.react.base@5.20262.60, @mescius/wijmo.styles@5.20262.60, @mescius/wijmo@5.20262.60
0

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 TablesourceWijmo FlexGridsource
ReactYesYes
VueYesYes
AngularNoYes
JavaScriptNoYes
Web ComponentsNoYes
  • Infinite Table: React 18+ (@infinite-table/infinite-react) and Vue 3.4+ (@infinite-table/infinite-vue), same features and version.

Migrating from Wijmo FlexGrid

Wijmo binds the grid to a CollectionView, which sorts and groups; in Infinite Table that is the job of <DataSource>.

Wijmo FlexGrid

import { CollectionView, SortDescription } from '@mescius/wijmo';
import { FlexGrid, FlexGridColumn } from '@mescius/wijmo.react.grid';
import '@mescius/wijmo.styles/wijmo.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 view = new CollectionView(data, {
  sortDescriptions: [new SortDescription('make', true)],
});

export function Cars() {
  return (
    <FlexGrid itemsSource={view} style={{ height: 500 }}>
      <FlexGridColumn binding="make" header="Make" />
      <FlexGridColumn binding="model" header="Model" width={200} />
      <FlexGridColumn binding="price" header="Price" />
    </FlexGrid>
  );
}

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 Wijmo FlexGrid concepts map to Infinite Table
Wijmo FlexGridInfinite Table
<FlexGridColumn binding>columns (an object keyed by column id) with field
headerheader
widthdefaultWidth, or the columnSizing prop
cell templatesrenderValue or render
CollectionView.sortDescriptionsdefaultSortInfo, sortInfo on <DataSource>
CollectionView.groupDescriptionsdefaultGroupBy, groupBy on <DataSource>
PivotEngine (OLAP module)pivotBy on <DataSource>
FlexGridDetailProviderrowDetailRenderer

What Wijmo FlexGrid does well

  • A broad feature set in one product: Excel-style filtering, grouping with aggregates, a tree grid, master-detail and multi-level column groups. source
  • Client-side OLAP pivoting with a pivot panel, pivot grid and pivot chart. source
  • Modular: components ship as separate modules, with no external dependencies. source
  • One component set for JavaScript, Angular, React, Vue and Web Components. source
  • Perpetual developer licenses, and offline license validation. source

FAQ

Does Wijmo need deployment licenses?

According to MESCIUS, Wijmo is licensed per developer and per deployment hostname. Each developer license includes 5 hostnames for non-commercial deployment; commercial deployment needs a hostname license ($499 each, one-time) and SaaS needs an annual SaaS license. Infinite Table has development licenses only.

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 Wijmo FlexGrid have, compared to Infinite Table?

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

How big is Wijmo FlexGrid compared to Infinite Table?

Bundling the minimal getting-started usage with esbuild, minified and gzipped, without React: Infinite Table 145 kB of JavaScript, Wijmo FlexGrid 212 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. Wijmo FlexGrid 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 Wijmo FlexGrid: website, docs, pricing, license.