← all repositories
mil-tokyo/webdnn

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.

2k stars TypeScript Inference · ServingOther AI
webdnn
Velocity · 7d
+0.6
★ / day
Trend
steady
star history

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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.