A lightning fast JavaScript grid/spreadsheet
npm install slickgrid







Check out the NEW SlickGrid Website! http://slickgrid.net/
This is the acknowledged and most active fork of SlickGrid.
It aims to be a viable alternative master repo, building on the legacy of the mleibman/SlickGrid original project, keeping dependencies up to date and applying, safe core patches and enhancements to keep the project up to date.
We extended the project from the original SlickGrid foundation while also including the following changes:
- added a few more Plugins: RowDetail, CellMenu, ContextMenu, GridMenu, CustomTooltip, GridState
- merged X-SlickGrid code into the project to bring Frozen Columns/Rows (aka Pinning)
- removed jQueryUI requirement in v3) (replaced it with SortableJS)
- removed jQuery requirement in v4
- modernized the project in v5 by migrating to TypeScript (we kept IIFE and added ES6/ESM build targets) and we also gave SlickGrid a fresh and more modern look via a new Alpine Theme (CSS/SASS)
- the project now only has 1 small dependency requirement which is SortableJS
You can try out the live Vite demo (mentioned just above) via the Stackblitz button. You can also use it to provide bug or feature requests.

> _Note: the Stackblitz demo is only including a couple of examples, note however that there are a lot more examples available in the Examples Wiki page_
Also take a look at the Wiki and Releases for documentation and recent news.
_For a basic TypeScript example, take a look at the v5.0 Annoucement & Migration guide shown below and also the TypeScript Example Wiki._
Below is one of the available examples available in Stackblitz (which is mentioned just above)
(IIFE) or install it through NPM and then import or require SlickGrid (ESM import is preferred for tree shaking).``shAlpine style from CDN
`
For more CDN links, like controls and plugins, just headover to jsDevlivr - SlickGrid for the full list and click on the "Files" tab (or use this jsdelivr CDN link "dist/browser").
We welcome any new contributions and if you wish to add or run all the Cypress E2E tests, all you need to do is to clone the repo and run the following commands
`bashnpm run serve
npm install # install all npm packages
npm run dev # run a local development server on port 8080 in watch mode (or without watch)`
npm run cypress # open Cypress UI tool
Once the Cypress UI is open, you can then click on "Run all Specs" to execute all automated E2E browser tests.
| SlickGrid | Migration Guide | Description |
| --------- | --------------- | ----------- |
| 3.x | Announcing v3.0) | dropping jQueryUI requirement and replaced it with SortableJS which is a lot more modern and touch friendly |
| 4.x | Announcing v4.0 | dropping jQuery requirement, SlickGrid is now using browser native code |
| 5.x | Announcing v5.0 | project modernization, we added ES6/ESM builds by migrating to TypeScript and also a new Alpine Theme |
, however there are some exceptions to be aware of; when using any html strings as template (for example with Custom Formatter returning an html string), you will not be fully compliant unless you return TrustedHTML. You can achieve it by using the sanitizer grid option callback in combo with DOMPurify to return TrustedHTML`. For more info, please take a look at the CSP Compliance Wiki.