Make your HTML tables editable !

EditableGrid is an open source JavaScript library aimed at turning tables into fully editable components. Its API is focused on simplicity : only a few lines of code are necessary to get your first editable grid up and running.

Originally, EditableGrid was a component developed for Hiflow Suite. Thereafter, we decided to factorize it into an external library. We think that this tool can be useful in other web projects. This is why we chose to publish it under the MIT Licence. We use Open Source software everyday and we wanted to offer our small contribution. If you use EditableGrid, feel free to tell us. The best motivation is to know that our work is used and appreciated.


Multiple formats

Load data from XML, JSON (URL or string) or attach to an existing HTML table.


Sort columns accordingly to their types, by clicking on the column header


Filtering of the grid.


Full client-side or server-side pagination

Typed Columns

Each column is typed (string, integer, double, boolean, url, email, date).

Cell Editor

Edit cells with a suitable editor, according to the column type (eg. checkbox for boolean).

Enum Values

Possibility to declare a list of possible values for the cells of a column (statically or in Javascript).

Number Formatting

Easily customized formatting for numeric columns (unit, precision, thousands separator, decimal point, NaN symbol)

Cell validators

Built-in validators for columns of type integer, double, url, email and date

Local Storage

Grid state saved and restored using localStorage

And more...

Editablegrid in action...click on a cell.


All you need is on GitHub, but if you can't wait :

git clone https://github.com/webismymind/editablegrid.git

And you can also check this example that uses a MySQL database

git clone https://github.com/jybeaujean/editablegrid-mysql-example.git

Editablegrid is used by big projects. Check this out !


Editablegrid has been developed by Webismymind, a company located in Belgium.

Lack of time, we cannot answer all the messages we receive. So, please use the github's issues tool