Skip to content
ZeroServer.tools

AI Object Detector

Detect and label objects in images using AI — powered by DETR ResNet-50, runs 100% in your browser.

All processing runs entirely in your browser using WebAssembly. No image or text is ever uploaded to a server. First run downloads the AI model (~44–70 MB) and caches it locally — subsequent runs are instant.
Try sample:

Drop an image here, or click to browse

Supports PNG, JPG, WebP, SVG images

AI Object Detector — Identify Objects in Photos

This tool uses DETR (Detection Transformer) with a ResNet-50 backbone to identify and locate objects in images entirely within your browser. DETR treats object detection as a direct set-prediction problem using a transformer encoder-decoder architecture, eliminating the need for anchor boxes. The quantised model (~160 MB download, cached locally after the first run) can detect 91 COCO classes including people, animals, vehicles, furniture, and everyday objects. Detected objects are highlighted with colour-coded bounding boxes and confidence scores. No image leaves your device.

Built and maintained by Meet Shah · Last updated

What this tool is used for

  • Labelling objects in an image without sending it anywhere.
  • Checking what a detection model finds in a photograph.
  • Producing bounding boxes for a quick annotation task.
  • Demonstrating in-browser inference for a talk.
  • Testing how a model handles a difficult image.

Frequently Asked Questions

What model does the detection use?
DETR with a ResNet-50 backbone, running in your browser through Transformers.js. DETR treats detection as a set-prediction problem with a transformer rather than as region proposals, which is why it needs no non-maximum-suppression step to clean up overlapping boxes.
Why is the first run slow?
Because the model weights have to download and compile before anything can be detected — tens of megabytes, once. After that it is cached, and subsequent images are fast. That download is the entire cost of running inference locally instead of sending your image to a server.
What does the confidence score mean?
The model's own estimate that the box contains that class, from 0 to 1. It is not a probability in any calibrated sense — models are routinely overconfident — so treat it as a ranking rather than a measurement, and set the threshold by looking at results rather than by picking a round number.
Which objects can it recognise?
The 80 COCO categories it was trained on: people, vehicles, animals, common household and food items. Anything outside that list cannot be returned at all — it will either be ignored or labelled as the nearest class it does know, which is worth remembering before reading a wrong label as a mistake.
Is my image uploaded anywhere?
No. The model runs in your own tab via WebAssembly and WebGPU, so the image is never transmitted. That is the practical argument for local inference: it works on photographs you would not send to an API, and it keeps working with no network at all once the weights are cached.

Common errors and gotchas

  • Treating detections as reliable, since confidence scores are not calibrated probabilities.
  • Expecting consistent results across runs, when preprocessing and thresholds shift the labels.
  • Using it on an image class the model was not trained for, where it labels confidently and wrongly.
  • Reading a missing detection as absence rather than as a limit of the model.
  • Running it on a very large image in a browser tab, which can exhaust memory.

Related Developer Utilities tools

Private & free — this tool runs entirely in your browser.

IndieKitShip your Next.js startup in days.affiliate