Handsontable Community Edition - JavaScript/HTML5 Spreadsheet Component for Web Apps
JavaScript Other
Switch branches/tags
Failed to load latest commit information.
.config Merge branch 'feature/issue-4496' into develop Sep 11, 2017
.github Added sample JSFiddle example to the issue template (#4473) Aug 21, 2017
demo Merge branch 'feature/issue-4234' into develop Jun 26, 2017
dist 0.34.5 Oct 12, 2017
lib Check for attachEvent on the element as opposed to the window. Fixes #… Jul 11, 2017
src Merge hotfixes Oct 11, 2017
test Merge hotfixes Oct 11, 2017
.babelrc Added variables easily injectable to the Handsontable source Sep 1, 2017
.bowerrc refactor Heatmaps demo to use Chroma.js; move to "Integrations" menu Jun 12, 2014
.editorconfig Added .editorconfig file. See http://editorconfig.org/ for details. Jan 20, 2014
.eslintignore Added tests for walkontable and removed jscs and jslint in favor of e… Mar 7, 2017
.eslintrc Updated eslint to v4 and added new rules. #4366 Jul 4, 2017
.gitattributes Added gitattributes to stop git complaining about CR/LF Nov 12, 2012
.gitignore Added tests for walkontable and removed jscs and jslint in favor of e… Mar 7, 2017
.npmignore Included test/ directory to be published into npm repository (necessa… Sep 13, 2017
.travis.yml Added trigger script for automatically run Handsontable PRO tests aft… Oct 6, 2017
CHANGELOG.md 0.12.0 Nov 27, 2014
CNAME Rename CNAME_ to CNAME May 15, 2013
CONTRIBUTING.md Changed link Aug 29, 2017
Gruntfile.js Added proper exit code form grunt tasks. #4070 Apr 4, 2017
LICENSE Add better support for npm dependencies and support for injecting LIC… Nov 3, 2015
README.md Update README.md Oct 4, 2017
bower.json Rewrite: copyPaste plugin, first part of changes. #4234 May 19, 2017
handsontable.d.ts Fix SetDataAtCell in handsontable.d.ts to accept objects in the data … Aug 25, 2017
handsontable.jquery.json 0.34.5 Oct 9, 2017
hot.config.js 0.34.5 Oct 12, 2017
index.html Add new functionality simultaneously manual resizing columns and rows. Apr 5, 2016
package-lock.json 0.34.4 Sep 13, 2017
package.json 0.34.5 Oct 9, 2017
update.json 0.12.0 Nov 27, 2014
webpack.config.js Added ability for filtering tests. #4070 Mar 22, 2017
yarn.lock Fix: test() in hasClass helper. #4508 Sep 11, 2017


Handsontable Community Edition logo

Handsontable Community Edition (CE) is an open source JavaScript/HTML5 UI Spreadsheet component for web apps. It easily integrates with any data source and comes with a variety of useful features like data binding, validation, sorting or powerful context menu. Actively supported by the Handsoncode team and many contributors.

If you are looking for a commercial version, try out Handsontable Pro.

Build status Known Vulnerabilities npm npm

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

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. Learn more.

Copyrights belong to Handsoncode sp. z o.o.