A lightweight, dependency-free javascript HTML table plugin
Mobius1 v1.6.16
Latest commit 5cfeb42 Sep 25, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist v1.6.16 Sep 25, 2018
src v1.6.16 Sep 25, 2018
tests v1.6.10 Oct 18, 2017
.travis.yml Update .travis.yml Feb 26, 2017
Gruntfile.js Update Gruntfile.js Jun 30, 2017
LICENSE Create LICENSE Mar 2, 2017
README.md v1.6.16 Sep 25, 2018
bower.json v1.6.16 Sep 25, 2018
package.json v1.6.16 Sep 25, 2018



Build Status npm version license Average time to resolve an issue Percentage of issues still open

Due to time constraints this repo is no longer maintained. Please use the official fork over at fiduswriter/Simple-DataTables

A lightweight, extendable, dependency-free javascript HTML table plugin. Similar to jQuery DataTables, but without the dependencies.


  • Sortable columns
  • Pagination
  • Searchable
  • Customisable layout
  • Customisable labels
  • Customise column rendering
  • Load data via AJAX requests
  • Export to common formats like csv, txt json, and sql
  • Import csv and json data
  • Control column visibility
  • Reorder or swap columns
  • moment.js integration for sorting columns with datetime strings
  • Extentable with custom plugins See the wiki (v1.6.0 and above)

Documentation | Latest Version




bower install vanilla-datatables --save


npm install vanilla-datatables --save


Grab the files from one of the CDNs and include them in your page:

<link href="https://unpkg.com/vanilla-datatables@latest/dist/vanilla-dataTables.min.css" rel="stylesheet" type="text/css">
<script src="https://unpkg.com/vanilla-datatables@latest/dist/vanilla-dataTables.min.js" type="text/javascript"></script>


<link href="https://cdn.jsdelivr.net/npm/vanilla-datatables@latest/dist/vanilla-dataTables.min.css" rel="stylesheet" type="text/css">
<script src="https://cdn.jsdelivr.net/npm/vanilla-datatables@latest/dist/vanilla-dataTables.min.js" type="text/javascript"></script>

You can replace latest with the required release number.

CDNs courtesy of unpkg and jsDelivr

Quick Start

Then just initialise the plugin by either passing a reference to the table or a CSS3 selector string as the first parameter:

var myTable = document.querySelector("#myTable");
var dataTable = new DataTable(myTable);

// or

var dataTable = new DataTable("#myTable");

You can also pass the options object as the second paramater:

var dataTable = new DataTable("#myTable", {
	searchable: false,
	fixedHeight: true,

Don't forget to check the wiki out for further help.

If this project helps you then you can grab me a coffee or beer to say thanks.


Copyright © 2017 Karl Saunders | MIT license