Running neural nets in the browser without the Python tax
WebDNN lets you load and execute ONNX models directly in browsers using WebGPU, WebGL, or WebAssembly.

What it does WebDNN is a browser-based inference engine for deep neural networks. You feed it an ONNX model, and it runs the model locally using whatever acceleration the browser offers—WebGPU, WebGL2 (with a fallback to WebGL1 for Safari), or plain WebAssembly. Version 2.x drops the Python preprocessing step that version 1 required; the model loads straight into the browser.
The interesting bit
The project ships two builds: a heavier webdnn.js for unoptimized models, and a slimmer webdnn-core.js for models you have pre-optimized offline. That split keeps the runtime lean if you can afford the build-time optimization step.
Key highlights
- ONNX-only input in v2.x—no framework-specific converters to maintain.
- Three backends with automatic capability detection.
- Offline optimization path for production deployments.
- Alpha software: the README explicitly labels this as version 2 alpha.
Caveats
- WebGPU support is limited to Chrome Canary’s draft implementation; iOS 13’s WebGPU is explicitly unsupported due to its deprecated WSL shader language.
- Build toolchain is non-trivial: requires Node 14, Python 3.6+, and Emscripten 2.0+.
- Model optimization testing is noted to “take a long time.”
Verdict Worth a look if you need client-side inference and can commit to the ONNX ecosystem. Skip it if you need stable, broad mobile support today or want to avoid wrestling with Emscripten builds.