Kobalte is the SolidJS analog to Radix UI: accessible, unstyled UI primitives—dialogs, popovers, comboboxes, toggles. It's not a data grid, but Solid teams sometimes ask whether Kobalte covers grid use cases.
Short answer: no. Kobalte gives you accessible primitives for forms and overlays. Simple Table for Solid is a complete data grid with virtualization, column pinning, row grouping with aggregations, and inline editing—on top of Solid's fine-grained reactivity.
This article clarifies the difference and when each is the right tool.
Quick comparison
| Feature | Kobalte | Simple Table for Solid |
|---|---|---|
| Type of library | UI primitives (dialogs, popovers, etc.) | Full data grid |
| License | MIT | MIT |
| Solid signals integration | Yes (primitives) | Yes (grid) |
| Built-in data grid | No | Yes |
| Built-in row virtualization | No | Yes |
| Column pinning | No | Yes |
| Row grouping + aggregations | No | Built-in |
| Inline cell editing | No (BYO with Kobalte primitives) | Built-in |
| Sort / filter | No | Built-in |
Use Kobalte when…
- You need accessible dialogs, popovers, comboboxes, and other primitives.
- You're hand-building UI on top of unstyled, accessible bricks.
- Your data needs are simple HTML tables, not data grids.
Use Simple Table for Solid when…
- You need a real data grid (virtualization, pinning, grouping, editing).
- You can use Kobalte for primitives elsewhere in the app and Simple Table for the grid.
- You want a single engine across React / Vue / Angular / Svelte / Vanilla.
Real-world scenarios
Building a custom dropdown / dialog for the app
Need accessible primitives, your own visual design.
Use Kobalte—exactly the right tool.
Internal admin dashboard with 50k rows
Sort, filter, virtualize, pinned columns, inline edit.
Use Simple Table for Solid—Kobalte doesn't cover this.
Both
Kobalte for dialogs/popovers, Simple Table for the data grid.
Combine them—they're complementary, not competing.
Frequently asked questions
- Does Kobalte have a data grid component?
- Not as of 2026. Kobalte is focused on form/overlay primitives—buttons, dialogs, comboboxes, toggles. A data grid is out of scope.
- Should I use Kobalte for the editor cells in Simple Table?
- You can. Simple Table accepts arbitrary Solid components in cellEditor, so a Kobalte combobox is a great fit for an enum/select cell.
- Are they competitive?
- No—they solve different problems. Kobalte for primitives, Simple Table for the data grid.
The verdict
Kobalte and Simple Table for Solid aren't competitors—they're complementary. Use Kobalte for accessible UI primitives, use Simple Table for the data grid.
Both are MIT and Solid-native. They play well together.