Handsontable Community Edition - JavaScript/HTML5 Data Grid Component with Spreadsheet Look & Feel. Available for React, Vue and Angular.
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.config Fix scrolling and broken editors for Android (#5638) Dec 6, 2018
.github Issue template class name change (#4983) Mar 30, 2018
dist 6.2.2 Dec 18, 2018
languages 6.2.1 Dec 6, 2018
lib SheetClip should properly parse multiline text on Windows (#5607) Nov 22, 2018
src Refactor Walkontable.Event to ES6 (#5655) Dec 18, 2018
test Added: missing methods, options and hooks + correction in hook name (#… Dec 6, 2018
.bowerrc refactor Heatmaps demo to use Chroma.js; move to "Integrations" menu Jun 12, 2014
.editorconfig Fix: clearing MergedCellsCollection should not throw an exception. #4988 Apr 25, 2018
.eslintignore Added tests for walkontable and removed jscs and jslint in favor of e… Mar 7, 2017
.eslintrc.js Changed: eslint configuration + necessary changes in code. (#5376) Aug 29, 2018
.gitattributes ESLINT - no-restricted-syntax (#5342) Aug 17, 2018
.gitignore Tests for mobile (#4885) Mar 2, 2018
.npmignore Included test/ directory to be published into npm repository (necessa… Sep 13, 2017
.travis.yml Migration to puppeteer Apr 9, 2018
CHANGELOG.md 0.12.0 Nov 27, 2014
CNAME Rename CNAME_ to CNAME May 15, 2013
CODE_OF_CONDUCT.md 0.35.1 Jan 19, 2018
CONTRIBUTING.md Update of documentation related to changes in docs.handsontable.com c… Jun 25, 2018
LICENSE Add better support for npm dependencies and support for injecting LIC… Nov 3, 2015
README.md Fix Korean language description and remove it from Readme. Nov 6, 2018
babel.config.js Update babel.config.js (#5595) Nov 21, 2018
bower.json Migration to Numbro v2 (#5127) Jun 4, 2018
handsontable.d.ts Added: missing methods, options and hooks + correction in hook name (#… Dec 6, 2018
handsontable.jquery.json 6.2.2 Dec 18, 2018
hot.config.js 6.2.2 Dec 18, 2018
package-lock.json 6.2.2 Dec 18, 2018
package.json 6.2.2 Dec 18, 2018
update.json 0.12.0 Nov 27, 2014
webpack.config.js Fix unworking testPathPattern argument in tests (#5161) Jun 7, 2018
yarn.lock 6.2.2 Dec 18, 2018


Handsontable Community Edition logo

Handsontable Community Edition (CE) is an open source JavaScript/HTML5 data grid component with spreadsheet look & feel. It easily integrates with any data source and comes with a variety of useful features like data binding, validation, sorting or powerful context menu. It is available for Vue, React, Angular and Polymer.

If you are looking for an extended version, try out Handsontable Pro.

Build status npm npm npm

We are looking for Contributors who would like to help us with translations. Learn more
Most wanted languages: Danish, Portuguese, Spanish and Swedish.

Table of contents

  1. What to use it for?
  2. Installation
  3. Basic usage
  4. Examples
  5. Features
  6. Screenshot
  7. Resources
  8. Wrappers
  9. Support
  10. Contributing
  11. Community
  12. License

What to use it for?

The list below gives a rough idea on what you can do with Handsontable CE, but it shouldn't limit you in any way:

  • Database editing
  • Configuration controlling
  • Data merging
  • Team scheduling
  • Sales reporting
  • Financial analysis


There are many ways to install Handsontable CE, but we suggest using npm:

npm install handsontable

Alternative ways to install

  • See the download section on how to install Handsontable CE using nuget, bower, yarn and more.

Basic usage

Assuming that you have already installed Handsontable CE, create an empty <div> element that will be turned into a spreadsheet:

<div id="example"></div>

In the next step, pass a reference to that <div> element into the Handsontable CE constructor and fill the instance with sample data:

var data = [
  ["", "Tesla", "Volvo", "Toyota", "Honda"],
  ["2017", 10, 11, 12, 13],
  ["2018", 20, 11, 14, 13],
  ["2019", 30, 15, 12, 13]

var container = document.getElementById('example');
var hot = new Handsontable(container, {
  data: data,
  rowHeaders: true,
  colHeaders: true



Some of the most popular features include:

  • Sorting data
  • Data validation
  • Conditional formatting
  • Freezing rows/columns
  • Merging cells
  • Defining custom cell types
  • Moving rows/columns
  • Resizing rows/columns
  • Context menu
  • Adding comments to cells
  • Dragging fill handle to populate data
  • Internationalization
  • Non-contiguous selection

See a comparison table




Handsontable CE comes with wrappers and directives for most popular frameworks:


Report all the suggestions and problems on GitHub Issues.

An open source version doesn't include a commercial support. You need to purchase Handsontable Pro license or contact us directly in order to obtain a technical support from the Handsoncode team.


If you would like to help us to develop Handsontable, please take a look at this guide for contributing.



Handsontable Community Edition is released under the MIT license. Read license.

Copyrights belong to Handsoncode sp. z o.o.