ml5.js
ml5.js is an open-source JavaScript machine learning library built on TensorFlow.js that runs pre-trained models client-side. It targets artists, creative coders, students, and educators and is hosted at NYU ITP and NYU Shanghai IMA without commercial revenue.
- Company typePrivate
- Founded2017
- Headquarters—
- Headcount11–50
- GTM typeB2C
- OfferingSoftware
What ml5.js does
ml5.js is an open-source JavaScript library that wraps TensorFlow.js to provide browser-based access to pre-trained machine learning models. It exposes a beginner-friendly API for image classification, pose detection, body segmentation, text generation, and similar tasks, and runs client-side without server-side inference. The library was created in 2017 at NYU's Interactive Telecommunications Program (ITP) and is associated with Daniel Shiffman and the broader p5.js creative coding community. The August 2024 release of v1.0 marked the project's first major stable version after roughly seven years of beta development.
The intended user base is artists, creative coders, students, and educators who want to integrate ML into web-native creative work without deep ML or TensorFlow expertise. Distribution is via npm, GitHub, and the p5.js Web Editor, and adoption is measured through community engagement (examples, curriculum, contributions) rather than revenue. Operational base is split between NYU ITP/IMA in New York and NYU Shanghai's Interactive Media Arts program, supported by academic grants including a Google Faculty Research Award in 2018 and a grant from the Shanghai Frontiers Science Center of Artificial Intelligence and Deep Learning in 2023.
The project does not operate a commercial business model. There is no SaaS pricing, no enterprise tier, no headcount disclosure beyond faculty and student contributors at NYU ITP and NYU Shanghai IMA, and no venture capital. In April 2021, ml5.js adopted a Code of Conduct and a proprietary license tying use to ethical guidelines, signaling a values-driven positioning rather than commercialization. The product surface is the npm package, the GitHub repository, and the embedded p5.js Web Editor integration.
ml5.js firmographics
Firmographics- Name
- ml5.js
- Website
- https://ml5js.org
- Company type
- Private
- Founded year
- 2017
- Operating status
- Operating
- Headcount range
- 11–50 employees
- Short description
- ml5.js is an open-source JavaScript machine learning library built on TensorFlow.js that runs pre-trained models client-side. It targets artists, creative coders, students, and educators and is hosted at NYU ITP and NYU Shanghai IMA without commercial revenue.
- Ownership category
- akta.pro rank
ml5.js industry classification
Industry- Product category
- Machine Learning Library
- NAICS
- Computer Training (61142), Computer Training (611420), Educational Support Services (611710), Computer Systems Design and Related Services (54151)
- SIC
- Services-Prepackaged Software (7372), Services-Computer Programming, Data Processing, Etc. (7370), Services-Educational Services (8200)
- akta.pro primary industry
- AutoML & Low-Code ML Platform Operations (HDAAABAL)
- akta.pro secondary industries
- Fine-Tuning, Adaptation & Custom Model Training (PEFT/LoRA/RLHF) (HDAAACAC), AI & Machine Learning (Foundations & Applied) (EDAMACAG), AI/ML Solution Integration & MLOps Enablement (BPAEAAAJ)
Keywords
ml5.js business model
Business model- GTM type
- B2C
- Offering type
- Software
- Cost components
- Technology or R&D, Personnel, Marketing or Sales, Operations
Revenue model
- Open Source / No Direct Revenue: ml5.js is an open source project with no commercial revenue model. Development is supported by grants from Google Research Award and Shanghai Frontiers Science Center of Artificial Intelligence and Deep Learning. The project is maintained by NYU ITP/IMA and NYU Shanghai IMA programs with contributions from the global open source community.
Distribution channels4 records
Marketing channels8 records
ml5.js product offering
Product offeringCore offering
ml5.js is an open-source JavaScript library built on TensorFlow.js that provides browser-based access to pre-trained machine learning models for computer vision, audio, and text tasks. It targets artists, creative coders, and students by offering beginner-friendly APIs for pose estimation, hand tracking, face landmark detection, image and sound classification, style transfer, sketch generation, and custom neural network training, all without server-side processing or external dependencies beyond TensorFlow.js.
Product overview
ml5.js is an open-source JavaScript library that makes machine learning approachable for artists, creative coders, and students. Built on TensorFlow.js 4.22.0 with WebGPU support, the library provides pre-trained models (BodyPose, HandPose, FaceMesh, ImageClassifier, SoundClassifier, ObjectDetector, StyleTransfer, PitchDetection, SketchRNN, DepthEstimation) for computer vision and audio tasks, along with a NeuralNetwork module for training custom models. The library prioritizes beginner-friendly APIs, ethical computing awareness, and creative applications over technical complexity.
Differentiator
Problem solved
Functional benefit
Products and services
- ml5.js Library
- BodyPose
- HandPose
- FaceMesh
- ImageClassifier
- SoundClassifier
- ml5 NeuralNetwork
- ObjectDetector
- StyleTransfer
- PitchDetection
- Word2Vec
- LSTM Text Generation
- SketchRNN
- BodySegmentation
- DepthEstimation
Quantifiable outcome
- Version 1.0 released in August 2024 with upgraded TensorFlow.js 4.22.0 and WebGPU support
- +1 more outcomes
Companies that use ml5.js
Customer profileNamed customers7 records
Segments4 records
Ideal customer profiles4 records
ml5.js technology and API
TechnologyTechnology focussed Yes
API detail
- Has API
- No
- API docs
- API detail
Core technology
AI maturity
App detail
AI capability10 records
Feature11 records
ml5.js partnerships and signals
Strategic signalPartnerships
Six partnerships are on record, tiered core and major.
- Google Research Award / TensorFlow.js TeamcoreInitial funding for ml5.js was provided by a 2018 Google Faculty Research Award to Daniel Shiffman at ITP/IMA to collaborate with TensorFlow.js team. Google provided crucial funding and research in developing deeplearn.js (which later became TensorFlow.js), enabling ml5.js to build on top of TensorFlow.js with support from Google's ML team.
- NYU ITP/IMA Programcoreml5.js originated at NYU's ITP (Interactive Telecommunications) program, which provides the primary organizational structure for development. Students, researchers, faculty, and alumni contribute to the project.
- NYU Shanghai IMA ProgramcoreJoint collaboration with NYU Shanghai's IMA program for development and maintenance. In 2023, development of ml5.js 'next generation' began in collaboration with students and faculty at NYU Shanghai.
- The Processing Foundation / p5.jsmajorml5.js is heavily inspired by the work of The Processing Foundation and p5.js. The project draws inspiration from p5.js's focus on making coding accessible and inclusive, extending this mission to machine learning.
- NYU Law School Technology Law & Policy ClinicmajorIn 2021, collaborated with the Technology Law & Policy Clinic at NYU Law School to formalize commitment to ethical ML through new Code of Conduct and dedicated software license.
- TensorFlow.jscoreml5.js is built entirely on top of TensorFlow.js—the JavaScript implementation of Google's end-to-end open source ML platform (licensed under Apache-2.0). TensorFlow.js provides all the machine learning functionality and pre-trained models that ml5.js wraps with its friendly API.
Scale indicators3 records
Recent moves5 records
Expansion highlights5 records
ml5.js competitors and assessment
Company assessmentBroad incumbents
- p5.js: Sister project under the Processing Foundation for accessible creative coding in JavaScript. ml5.js integrates natively with p5.js's Web Editor and p5.js 2.0 APIs, and shares the same institutional/mission lineage at NYU ITP, making it the closest ecosystem partner.
- Processing Foundation: Parent organization for Processing and p5.js. ml5.js is heavily inspired by Processing's mission of accessible, inclusive coding and explicitly cites the foundation's work; both serve the same creative-coding and educational community.
- RunwayML: Creative ML platform offering browser-accessible generative AI tools for artists and creators. Targets the same artist/creative-coder audience as ml5.js but operates as a commercial cloud platform with proprietary models rather than an open-source library.
- Lobe (Microsoft): Microsoft's no-code tool for training ML models with a focus on accessibility for non-technical users. Targets a similar accessible-ML audience as ml5.js's NeuralNetwork module, though delivered as a desktop/cloud app rather than a JS library.
Direct peers
- TensorFlow.js: Google's browser-based machine learning library on which ml5.js is directly built. Both provide JavaScript ML for the web and target developers building browser-side ML applications, though TensorFlow.js targets a broader and more technical audience while ml5.js wraps it for creative coders and beginners.
- Teachable Machine (Google): Google's no-code tool for training image, audio, and pose classification models in the browser. Targets the same accessible, non-technical audience as ml5.js and offers overlapping model capabilities (image/sound classification and pose).
- MediaPipe (Google): Google's framework for building multimodal, multi-platform applied ML pipelines (pose, hand, face, segmentation). ml5.js actually ports several MediaPipe models (BodyPose/HandPose/FaceMesh/BodySegmentation) and competes for the same browser-based computer vision use cases.
- ONNX Runtime Web: Microsoft-maintained runtime for executing ONNX models in the browser via WebAssembly/WebGL. Competes in the same browser-based ML inference layer as ml5.js, though it is a lower-level runtime without the beginner-friendly creative-coding framing.
- OpenCV.js: JavaScript build of OpenCV providing computer vision algorithms in the browser. Competes with ml5.js for developers needing browser-side vision capabilities, though it requires significantly more technical expertise and lacks ml5.js's creative-coding focus.
- Hugging Face Transformers.js: JavaScript port of Hugging Face Transformers for running transformer models directly in the browser. Competes with ml5.js for developer mindshare in browser-side ML, though it focuses on transformer models rather than ml5.js's curated creative-coding toolkit.
Market position
Strengths5 records
Weaknesses5 records
Competitive moat4 records
Key risks2 records
Customer concentration
ml5.js social profiles
Digital presenceml5.js financial estimates
Financial estimateRevenue estimate
Valuation estimate
ml5.js leadership team
Management profileNumber of profiles
Profiles12 records
ml5.js funding detail
Funding detailFunding overview
Funding rounds
Investors
Funding detail is available on the Subscription and Enterprise plan.Contact sales →
ml5.js M&A and investment
M&A and investmentM&A
Investments
M&A and investment is available on the Subscription and Enterprise plan.Contact sales →
Frequently asked questions about ml5.js
What does ml5.js do?
ml5.js is an open-source JavaScript library built on TensorFlow.js that provides browser-based access to pre-trained machine learning models for computer vision, audio, and text tasks. It targets artists, creative coders, and students by offering beginner-friendly APIs for pose estimation, hand tracking, face landmark detection, image and sound classification, style transfer, sketch generation, and custom neural network training, all without server-side processing or external dependencies beyond TensorFlow.js.
Is ml5.js a public or private company?
ml5.js is a private company. It is classified as nonprofit foundation owned and is currently operating.
When was ml5.js founded?
ml5.js was founded in 2017. It employs 11 to 50 people.
How does ml5.js make money?
One revenue line is on record: open Source / No Direct Revenue.
Who are ml5.js's main competitors?
Broad incumbents on record are p5.js, Processing Foundation, RunwayML and Lobe (Microsoft). Direct peers are TensorFlow.js, Teachable Machine (Google), MediaPipe (Google), ONNX Runtime Web, OpenCV.js and Hugging Face Transformers.js.
Does ml5.js have an API?
No public API is recorded for ml5.js.
What industry is ml5.js in?
ml5.js's product category is Machine Learning Library. Its primary akta.pro industry code is HDAAABAL, AutoML & Low-Code ML Platform Operations, with a secondary code of HDAAACAC, Fine-Tuning, Adaptation & Custom Model Training (PEFT/LoRA/RLHF). Its NAICS code is 61142 and its SIC code is 7372.