Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LabelRS

English | 简体中文

A small desktop editor for YOLO annotation files, written in Rust with eframe/egui.

LabelRS is intended for quickly reviewing and editing a folder of images and YOLO labels, then copying selected samples into an Ultralytics-style training or validation split.

Features

  • Open image and label folders independently, or use a single shared folder.
  • Read and write YOLO detection, segmentation, and pose annotations.
  • Draw, select, move, and resize boxes; edit polygon vertices and pose keypoints.
  • Navigate image folders with the keyboard or sidebar search.
  • Copy the current image and label to training or validation splits.
  • Reveal images and labels in the system file manager.
  • Copy image paths, label paths, and filenames from context menus.
  • Choose system, light, or dark theme.

Supported image formats: JPEG, PNG, BMP, GIF, TIFF, and WebP.

Requirements

  • A recent stable Rust toolchain (the project uses Rust edition 2024).
  • Linux, macOS, or Windows.

Build and run

cd labelrs
cargo run --release

Basic workflow

  1. Start the application and select Open images....
  2. Select Open labels... if labels are stored in a different directory. Labels are matched by image stem, for example frame_001.jpg uses frame_001.txt.
  3. Select an annotation on the canvas or add one from the right sidebar.
  4. Save with Ctrl+S, or move to another image to save pending changes.
  5. Press T to add the current image and label to the training split, or Y for validation. The editor advances to the next image after a successful export.

Images without a label file can still be exported; LabelRS creates an empty .txt label file for them.

Controls

Action Control
Previous / next image Left / Right arrow
Save labels Ctrl+S
Delete selected annotation Delete
Add current sample to training set T
Add current sample to validation set Y
Zoom Zoom slider, or mouse wheel over the canvas when enabled
Pan a zoomed image Drag empty canvas space
Image / label actions Right-click the canvas
Copy an image filename Right-click an item in the image list

When an image has unsaved changes, arrow-key navigation asks whether to save, discard, or cancel. View → Auto-save before arrow navigation skips the prompt for the current session; it is disabled each time the application starts.

Mouse-wheel zoom can be toggled in View.

Dataset export layout

By default, exported samples are placed under ./extracts. Change this from the Dataset menu.

extracts/
├── images/
│   ├── train/
│   └── val/
└── labels/
    ├── train/
    └── val/

This directory structure matches the image/label layout expected by Ultralytics YOLO datasets. Create your own dataset YAML file with class names and any project-specific training settings.

Settings

LabelRS stores the most recently selected image folder, label folder, export root, theme, and mouse-wheel zoom preference in the platform configuration directory:

  • Linux: $XDG_CONFIG_HOME/labelrs/last_folders.txt or ~/.config/labelrs/last_folders.txt
  • Windows: %USERPROFILE%/labelrs/last_folders.txt
  • macOS: ~/.config/labelrs/last_folders.txt

About

Simple yolo label viewer/editor that runs on Windows/MacOS/Linux

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages