AI Object Detector
Detect and label objects in images using AI — powered by DETR ResNet-50, runs 100% in your browser.
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.