Skip to content
runonweb

Object detection

Spot

Find and label objects in an image with bounding boxes. People, cars, cats, cups, laptops: 80 COCO classes detected locally with RF-DETR Nano.

Try Spot

Runs in this tab · nothing uploaded

Pick a sample, open the webcam, or drop an image. It runs right away
Try with

Drop an image here

or click · PNG JPG WEBP

What it does

Boxes and labels for 80 everyday objects.

  • RF-DETR Nano (2025). 80 COCO classes: people, cars, animals, furniture and more.
  • WASM only for now. WebGPU is skipped: this ONNX export collapses confidence scores.
  • Boxes are returned in pixel coordinates of the original image.
  • Tune threshold to trade recall for precision.

Specifications

Package
runonweb/detect
License
Apache-2.0
Download
~29 MB
Quantization
q8 on WASM
Backend
WASM only
Input
Image

Get started with runonweb/detect

pnpm add runonweb
runonweb/detectts
import { ObjectDetector } from 'runonweb/detect'

const detector = new ObjectDetector({
  threshold: 0.5, // min confidence
})

await detector.load()

const objects = await detector.detect(imageFile)
// [{ label: 'cat', score: 0.98, box: { xmin, ymin, xmax, ymax } }]

detector.dispose()

Same shape everywhere: construct, load(), run, dispose(). Pass onProgressto show download progress on first use.

Questions about Spot

Does Spot run on device?

Yes. Weights download once and stay in the browser. Nothing is sent to a server.

What does Spot cost?

Nothing. runonweb is free and MIT-licensed, with no device limits, tokens or sign-in.

Which browsers support Spot?

Any modern browser with WebAssembly. This model does not use WebGPU yet: it fails at session creation in ONNX Runtime Web, so runonweb pins it to WASM.

Can I use a different model with runonweb/detect?

Yes. See each module’s docs for the options it accepts (model, size, language…). Check the license and test both backends before shipping.