--- title: Handsontable repo: handsontable/handsontable homepage: https://handsontable.com examples: https://handsontable.com/examples license: Free/Commercial author: Handsoncode authorurl: https://handsoncode.net description: JavaScript data grid that looks and feels like a spreadsheet. Available for pure JavaScript, React, Vue, and Angular. --- Handsontable is a minimalistic, Excel-like grid component for web apps. It looks and feels like a spreadsheet. Handsontable is easy to implement, flexible, and customizable. You can extend it with custom plugins and edit the source code to adjust it to your product. Plus you get access to a comprehensive API, useful tutorials, and both community and commercial support. Works with the most popular frameworks: * [Data grid for React](https://handsontable.com/docs/react) * [Data grid for Vue](https://handsontable.com/docs/vue) * [Data grid for Angular](https://handsontable.com/docs/angular) #### Features Overview * Drag-down * Merge cells * Alignment * Read-only * Different cell types * Fixed rows and columns * Scrollbars * Highlighting rows or columns * Stretching * Resizing * Freezing * Moving * Pre-populating new rows * Data validation * Pagination * Search for values * Sorting * Undo/redo * Conditional formatting * Custom borders * Formula support * Support mobiles and tablets * Context menu * Custom buttons * Comments #### Preview ##### AutoFill - Fill data automatically ![Handsontable AutoFill](/images/libraries/handsontable/autofill.png "Handsontable AutoFill") ##### Cell editing ![Handsontable cell editing](/images/libraries/handsontable/cell-editing.png "Handsontable cell editing") ##### Collapsible columns ![Handsontable collapsible columns](/images/libraries/handsontable/collapsible-columns.png "Handsontable collapsible columns") ##### Conditional formatting ![Handsontable conditional formatting](/images/libraries/handsontable/conditional-formatting.png "Handsontable conditional formatting") ##### Context menu ![Handsontable context menu](/images/libraries/handsontable/context-menu.png "Handsontable context menu") ##### Date cell type ![Handsontable date cell type](/images/libraries/handsontable/date-cell-type.png "Handsontable date cell type") ##### Data filtering ![Handsontable data filtering](/images/libraries/handsontable/filtering.png "Handsontable data filtering") ##### Fixed/Frozen/Pinned columns and rows ![Handsontable column freezing](/images/libraries/handsontable/fixed-columns-rows.png "Handsontable column freezing") ##### Merged cells ![Handsontable merged cells](/images/libraries/handsontable/merged-cells.png "Handsontable merged cells") ##### Multi-column sorting ![Handsontable multi-column sorting](/images/libraries/handsontable/multi-column-sorting.png "Handsontable multi-column sorting") ##### Multiple cell selection ![Handsontable multiple cell selection](/images/libraries/handsontable/multiple-cell-selection.png "Handsontable multiple cell selection") ##### Multiple row selection ![Handsontable multiple row selection](/images/libraries/handsontable/multiple-row-selection.png "Handsontable multiple row selection") ##### Nested headers ![Handsontable nested headers](/images/libraries/handsontable/nested-headers.png "Handsontable nested headers") ##### Row reordering ![Handsontable row reordering](/images/libraries/handsontable/row-reordering.png "Handsontable row reordering")