Type detection plug-ins

When a DataTable is initialised, each column is scanned automatically for the type of data it contains, which in turn allows DataTables to apply the require type of sorting function. There are three built-in types (string, date and numeric) but this can readily be expanded using the functions below. This can make installed a sorting plug-in much easier since you need not specify the columns.type for the column - it will be picked up automatically.

How to use

To use of one of the plug-in type detections functions below, you simply need to include it and its counterpart sorting function in the Javascript available for your page, after you load the DataTables library, but before you initialise the DataTable. Then all you need to do is initialise the DataTable and the type will be automatically detected.


Loading type detection plug-ins directly in the browser is just a case of loading the Javascript for the plug-in. As an example the code below makes use of the file-size plug-ins for type detection and sorting saved into a single file:

<script type="text/javascript" src="jquery.dataTables.js"></script>
<script type="text/javascript" src="dataTables.file-size.js"></script>
<script type="text/javascript">
    var table = new DataTable('#myTable');

Plug-ins which can be included in the browser are available on our CDN. See the details page for each plug-in for the full CDN URL.

ES modules

The type detection plug-ins are also available as ES modules, which can be loaded from the datatables.net-plugins package (.mjs files). You need to include the file required for the plug-in. Below we use the example of file-size again:

import DataTable from 'datatables.net';
import 'datatables.net-plugins/sorting/file-size.mjs';
import 'datatables.net-plugins/type-detection/file-size.mjs';

var table = new DataTable('#myTable');


If you are using CommonJS (i.e. in an older version of Node or Webpack), the .js files can be loaded in, and it will automatically add the plug-in to DataTables. As with DataTables core and the extensions, the CommonJS loader provides a function that you need to call with the window and $/jQuery objects - e.g.:

var $ = require('jquery');
var DataTable = require('datatables.net')(window, $);
require('datatables.net-plugins/sorting/file-size.js')(window, $);
require('datatables.net-plugins/sorting/type-detection.js')(window, $);

var table = new DataTable('#myTable');