10 Libraries For Machine Learning in Javascript

by Luigi Nori Date: 06-09-2019

JavaScript is currently one of the most popular programming languages. Its main application is found in web applications, being used to give functionality to dynamic web pages. Another field in which it is gaining strength is for the creation of mobile applications. Being the language used in different hybrid development platforms such as Apache Cordova. On the other hand, it can also be seen in server-side applications thanks to Node.js. Despite its popularity, it is not commonly used in automatic learning environments, mainly due to the lack of libraries. This entry will list a set of libraries for machine learning in JavaScript that can be used to train and evaluate models.

1 Brain

Brain is a JavaScript library that allows the creation and training of neural networks. It can be used both in Node.js environment and inside a browser. However, due to the computational resources necessary for the training of networks it is advisable to do this on the server side.

There is a screencast which explains how to train a neural network with Brain.js.

2 Synaptic

In this library you can find the algorithms necessary for the creation of neural networks independent of the architecture. Thanks to this, it can be used for the implementation of any type of neural network. In spite of this, different architectures already implemented are also included. These include multi-layer perceptrons, multilayer long-short term memory networks (LSTM), liquid state machines or Hopfield networks. This makes it possible to quickly test and evaluate different automatic learning algorithms. Like Brain, it is possible to use the library both in Node.js and in the browser.

The project also includes an introduction to neural networks along with a series of practical demonstrations and other tutorials.


This is the web version of the popular library with which you can train neural networks in a browser. It can also be used for the execution of pre-trained models.

4 Neataptic

This library allows you to quickly implement neural networks in both the browser and Node.js. It includes different architectures such as perceptrons, LSTM, GRU, Nark and others.

5 Webdnn

Webdnn is a library designed to execute deep neural network models pre-trained in the browser quickly and efficiently. Due to the fact that deep neural networks require a great computational capacity, the library takes care of their optimization. For them compressing the model data accelerating the execution through the use of JavaScript APIs such as WebAssembly and WebGPU.

6 Deep playground

Deep playground is a web application with which you can build and visualize neural networks. It has an elegant interface with which it is possible to control the input data, the number of neurons, the algorithm to use and other parameters that affect the results.

The application code can be downloaded and studied from its public repo.


DeepForge is a visual development environment for deep learning. It enables the design of neural networks using a simple graphical Notebook interface, in which users can obtain real-time feedback on executions and share them in real time. The models can be trained on remote machines and incorporates the possibility of using version control.

8 Thing Translator

This is a web application that can be used on the mobile phone to identify objects and name them in different languages. The application is based entirely on web technologies and uses two Google automatic learning APIs: Cloud Vision for image recognition and the translation API for natural language translations.

The code can be consulted at web repo.

9 Compromise

This is a library with which you can implement natural language processing (NPL) models in JavaScript. It uses a basic and straightforward approach, but good enough, which makes it the first option to consider when you want to create a basic NPL application in the browser.

10 ml.js

It is a set of libraries that provide the basic automatic learning tools for JavaScript. Here you can find both supervised and unsupervised learning models, neural networks, regression algorithms, optimization algorithms and statistical and mathematical functions.

This is the most complete library of views, allowing basically any automatic learning model to be implemented in JavaScript.


This entry contains a collection of machine learning libraries in JavaScript. These libraries can be used both for the production of models and for their training. It is important to note that most of the libraries are focused on Deep Learning.


by Luigi Nori Date: 06-09-2019 hits : 551  
Luigi Nori

Luigi Nori

Lavora in Internet dal 1994 (praticamente una mummia), specializzato in tecnologie Web fa felici i suoi clienti smanettando con applicazioni su larga scala e ad alta disponibilità, frameworks php e js, disegno web, intercambio dati, sicurezza, e-commerce, amministrazione database e server, hacking etico. Convive felicemente con @salvietta150x40, nel (poco) tempo libero cerca di addomesticare un piccolo nano selvaggio appassionato di astri.