Object Tracking

YOLO Trackers: Multi-Object Tracking, Built In

Give every object a persistent ID across frames. Add SORT, ByteTrack, OC-SORT, BoT-SORT, and Re-ID to any YOLO or RF-DETR pipeline with the open-source Roboflow Trackers library or Roboflow Workflows, with zero tracking code.

Add tracking to any detector, no tracking code

Detection finds objects in each frame but remembers nothing between frames. Trackers connect detections across frames and assign stable IDs. Build it in Roboflow Workflows in under five minutes.

1

Detect with any model

Add an Object Detection Model block. Roboflow Trackers works with any model that returns supervision.Detections, including YOLO, YOLO26, YOLO11, and RF-DETR. Filter to the classes you want to track, like people or vehicles.

2

Choose a tracker

Place a tracker block (SORT, ByteTrack, OC-SORT, or BoT-SORT) after the detector. Each connects detections across frames and assigns stable tracker_id values, with separate state per video stream.

3

Keep IDs through occlusion

Trackers return tracked, new, and already-seen detections. Stronger trackers add Re-ID, matching appearance to recover identity after an object is occluded or leaves and re-enters the frame, so it is not counted twice.

4

Visualize and deploy

Add bounding box, label, and trace visualization colored by track ID, then deploy via the Inference API on your camera or video. The full pipeline takes under five minutes and requires zero tracking code.

Try the YOLO26 + BoT-SORT tracking workflow Open in Workflows

Two ways to add tracking, same algorithms

Roboflow Trackers library (Python)

An open-source Python library with clean implementations of SORT, ByteTrack, OC-SORT, and BoT-SORT behind one consistent interface. Compatible with any model that returns supervision.Detections, including YOLO and RF-DETR. Pass detections in, get stable track IDs back.

Roboflow Workflows (no code)

Native tracker blocks for ByteTrack, SORT, OC-SORT, and BoT-SORT that drop in after your detector and assign stable IDs automatically. Build, visualize, and deploy a full tracking pipeline without writing any tracking code.

Same four algorithms either way. The library gives you a single Python interface; Workflows lets you build and deploy the same pipeline with no tracking code, on top of any YOLO or RF-DETR detector.

Four trackers, one interface

Switch algorithms to fit the scene without rewriting your pipeline. Check the full benchmark comparison for your use case.

TrackerWhat it doesBest for
SORTFast, lightweight motion prediction with IoU matching. No re-identification.Controlled scenes, reliable high-confidence detections, real-time pipelines, predictable motion
ByteTrackMatches both high- and low-confidence detections to recover weak matches.General-purpose tracking, crowded scenes, partial occlusions, sports, fast-moving objects
OC-SORTObservation-centric updates that reduce Kalman drift after occlusion.Frequent or prolonged occlusions, pedestrians, warehouse workers, non-linear or erratic motion
BoT-SORTByteTrack-style association plus optional camera motion compensation.Moving or shaking cameras, dense detection noise, similar-looking objects, the hardest scenes

Tracking that fits your stack

Detector-agnostic, identity-aware, no-code, and commercial-safe.

Works with any detector

Compatible with any model that returns supervision.Detections, including YOLO, YOLO26, YOLO11, and RF-DETR. Add tracking without swapping your detector, and switch detectors later without touching the tracker.

Re-ID through occlusion

Stronger trackers recover identity by appearance, matching an embedding against earlier tracks so an object that disappears and returns keeps its original ID, instead of being counted twice.

Zero tracking code, built in minutes

Native tracker blocks in Roboflow Workflows drop in after your detector and assign stable IDs automatically. Build a full detection-plus-tracking pipeline in under five minutes with no tracking code to maintain.

Open source and commercial-safe

The Trackers library is open-source Python you can run anywhere. Pair it with RF-DETR under the permissive Apache 2.0 license to keep your detection-and-tracking stack commercial-safe, rather than the AGPL-3.0 copyleft terms that come with the YOLO family.

Vision AI is already tracking objects in production

Half the Fortune 100 build computer vision with Roboflow, with tracking pipelines deployed for vehicle counting, retail foot traffic, sports analytics, and warehouse safety.

4
trackers behind one interface: SORT, ByteTrack, OC-SORT, BoT-SORT
1M+
engineers and 16,000+ organizations building on the platform
55B+
model inferences run in production across critical industries

Trusted by teams at BNSF, Rivian, GE Vernova, Cummins, USG, Pella, and Peer Robotics.

Frequently asked questions

What are YOLO trackers?

YOLO trackers connect object detections across video frames and assign each object a persistent ID, so an object that disappears and reappears is not treated as new. Roboflow Trackers is an open-source Python library that provides clean implementations of SORT, ByteTrack, OC-SORT, and BoT-SORT behind one consistent interface. It is compatible with any detection model that returns supervision.Detections, including YOLO, YOLO26, and RF-DETR, so you can pass detections in and receive stable track IDs across frames without writing tracking logic from scratch.

Which tracker should I use: SORT, ByteTrack, OC-SORT, or BoT-SORT?

SORT is the simplest and fastest, good for controlled scenes with reliable high-confidence detections and predictable motion, but it has no re-identification. ByteTrack matches both high- and low-confidence detections, which helps in crowded scenes, partial occlusions, and sports. OC-SORT extends SORT with observation-centric updates for frequent occlusions and non-linear, erratic motion like pedestrians or warehouse workers. BoT-SORT is the strongest for difficult scenes with occlusions, moving or shaking cameras, and similar-looking objects, and it can apply camera motion compensation.

What is Re-ID and how does it fit into tracking?

Re-identification (Re-ID) recovers an object's identity through appearance after motion-based tracking loses it. When a basic tracker fails during a long occlusion or when an object leaves and re-enters the frame, Re-ID crops the object, turns it into an embedding (a visual fingerprint), and compares it against stored embeddings from earlier tracks. A close match keeps the original ID. Re-ID is an optional but powerful component inside the tracking pipeline, used by stronger trackers like BoT-SORT to keep identities stable through occlusions and crowds.

How do I add tracking to a YOLO or RF-DETR pipeline without writing code?

Roboflow Workflows includes native tracker blocks for ByteTrack, SORT, OC-SORT, and BoT-SORT. Place a tracker block after an object detection model and it connects detections across frames and assigns stable tracker_id values, outputting tracked detections, new instances, and already-seen instances, with separate state per video stream. You can build a full detection-plus-tracking pipeline, from a detector to tracked and visualized output, in under five minutes with zero tracking code. The open-source Roboflow Trackers Python library offers the same algorithms behind one interface for code-based pipelines.

Build your tracking pipeline today

Add multi-object tracking to any YOLO or RF-DETR pipeline with the Trackers library or Roboflow Workflows. Keep a stable ID on every object.

Roboflow mascot

Have a question about object tracking?

Ask the Roboflow agent about choosing a tracker, Re-ID, and building a tracking Workflow.

Ask the Roboflow agent

Suggested resources