A powerful, modern image labeling tool built with React.js, TypeScript, TailwindCSS, Framer Motion, and Dexie.js, designed for creating high-quality datasets for machine learning models. Supports manual annotation, free drawing, and AI-assisted labeling using YOLOv8 models.
- π Project Management: Create, Save, Load, and Export labeling projects offline using Dexie.js.
- ποΈ Manual Annotation: Draw bounding boxes, polygons, and freehand shapes on images.
- π Custom Canvas Tools: Zoom, Pan, Resizable Divider, Ruler Guides, Dynamic Cursor Coordinates.
- β‘ AI Auto-Labeling: Integrate YOLOv8 models to automatically detect and label objects.
- π±οΈ Custom Right-Click Menu: Quick tool switching with context menu.
- ποΈ Multi-Format Export: Export labeled datasets in COCO JSON, Pascal VOC XML, YOLO TXT, and Simple JSON formats.
- π Light/Dark Mode: Modern UI with full responsive design.
- πΎ Offline Support: Save your projects locally without any backend required.
- π₯οΈ Desktop Application: Support Multi-platform Desktop app for Mac/Window/Linux.
Sub-Project | Description |
---|---|
Desktop | π₯οΈ Multi-platform desktop application for Mac, Windows, and Linux. |
Studio | π Web-based image labeling tool with advanced features like AI-assisted labeling. |
Web | π Documentation and updates site for the project. |
- π οΈ Node.js >= 20
- π¦ yarn
# Clone the repository
git clone https://github.com/vailabel/vailabel-studio.git
# Go into the project directory
cd vailabel-studio
# Install dependencies
yarn install
# Run the development server
yarn dev
- COCO JSON: π Object detection format used in MS COCO dataset.
- Pascal VOC: π XML annotation format.
- YOLO TXT: π¦ YOLO label format (class x_center y_center width height).
- Simple JSON: π Flat JSON export of annotations.
- Click "Auto Detect with AI" button to run YOLOv8 model.
- Bounding boxes predicted by the AI will automatically appear on the canvas.
- Supports using pre-trained or custom YOLOv8 models.
- (Optional: Connect to a lightweight FastAPI server if browser-based inference is too heavy.)
- βοΈ Free Drawing (Lasso Tool)
- πΎ Offline Project Storage
- πΌοΈ Multi-Image Labeling Projects
- π₯οΈ Desktop App (Electron)
- π€ AI YOLOv8 Auto-Detection (In Progress)
- π€ Export Multiple Formats
- π·οΈ Multi-Class Annotation (Class Picker)
- π₯ Video Frame-by-Frame Annotation
- πΌοΈ Image Segmentation (Polygon)
- πΌοΈ Text Annotation (OCR)
- π₯ Collaborative Labeling (Team mode) - Cloud Self-host
- βοΈ Cloud Storage Integration (S3, GCS, Azure)
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
For detailed guidelines, see the Contributing Guide.
This project is licensed under the GNU GENERAL PUBLIC LICENSE β see the LICENSE file for details.
- Ultralytics YOLOv8
- TailwindCSS
- Framer Motion
- Dexie.js
- Inspiration: Roboflow, Label Studio, CVAT