Open-source project
ryouchinsa/Rectlabel-support avatar
ryouchinsa/Rectlabel-support

RectLabel-support: the support repository behind an offline annotation app

RectLabel is an offline image annotation tool for object detection and segmentation.

552 stars72 forksJupyter NotebookLicense varies

At a glance

What is it?
RectLabel-support is not the annotation tool itself but the repository that documents it, ships a handful of format converters and sample data, and collects feature requests for the RectLabel and RectLabel Pro apps distributed through the Mac App Store. The feature list is where the interesting detail is, since it covers SAM 3 and SAM 2 prompts, Cellpose, Core ML auto-labelling, oriented boxes for aerial imagery and exports to YOLO, COCO, CreateML and DOTA.
Who is it for?
RectLabel fits an annotator who works offline, needs prompts rather than hand-drawn boxes for a large backlog, and wants to leave a project in a format their training pipeline already reads, since the export targets cover YOLO, COCO, CreateML and DOTA.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 136 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A support repository, not the application

RectLabel is an offline image annotation tool for object detection and segmentation, and this repository is its support page. The distinction matters immediately, because the application itself is not here. The download links in the README point to the Mac App Store, one for RectLabel and one for RectLabel Pro, and the repository contains no application source, no build system and no release artefacts.

What the repository does contain is a small set of Python scripts, a notebooks/ directory, a sample/ directory and the feature list. The top level entries are general_json2yolo.py, mask2polygons.py, pycocoDemo.py, rectlabel_logo.py, rle2polygons.py, the notebooks and sample directories, and the usual .github and README.md. The sample directory holds an images folder and an annotations folder, spelled annotaitons in the listing, which is the kind of detail that tells you this is a working directory rather than a curated one.

Two other routes are named. Usage questions go to the help page on the RectLabel site, and feature requests go to the issues page of this repository, which makes the issue tracker the public roadmap. There is also a specific instruction for anyone who wants to build something like RectLabel into their own system: contact the address given in the README, which is an offer of help rather than an open source route to the same result. For a commercial product, that contact is the path to a custom arrangement, and for a team that wants to extend the tool themselves, it is a sign that the implementation is not being handed over.

Prompts instead of polygons, and a stack of models behind it

The feature list in the README is the best description of the tool available, and its centre of gravity is the use of segmentation models as annotation aids rather than as training targets.

With Segment Anything Model 3, text and box prompts are used to label multiple objects at once, which is a throughput change rather than an accuracy change: one prompt can cover a group of similar items instead of one instance at a time. Segment Anything Model 2 is used to label polygons and to label pixels, and the Cellpose model is listed for the same two jobs, which is the right tool for biological images where the objects are cells rather than street furniture. A Tracking model is used for labelling bounding boxes, which is the mode for video annotation, where the object is identified in one frame and then tracked.

Automatic labelling runs through Core ML models, and the two named are RF-DETR and YOLO26. That is a specific architectural choice: the auto-labelling runs on the Core ML path on the machine, in a tool that markets itself as offline, rather than by calling a hosted inference endpoint. The models being used are recent ones, and the fact that the list names the specific versions of the detection architectures says the product tracks the field rather than freezing on one approach.

Automatic text recognition for lines and words is also included, which is a document-style annotation mode rather than an object detection one, and the rest of the list extends into shapes: cubic bezier curves, line segments and points, oriented bounding boxes for aerial images, and keypoints with a skeleton.

Pixel work, gallery search and the export targets that decide the pipeline

The rest of the feature list covers the parts of annotation that are not about models. Pixels can be labelled with brushes and superpixels, which is the route to dense masks where polygons would be impractical. There are settings for objects, attributes, hotkeys and labelling speed, which is the vocabulary of a tool used for hours at a time by one person rather than by a team clicking through a form. A gallery view can search object names, attribute names, image names and memo, which is what you need to find the images you still have to fix.

The export targets are the part that decides whether the tool fits your pipeline. The list names YOLO, COCO, CreateML and DOTA, and separately indexed colour mask images and grayscale mask images. DOTA is the format used for oriented bounding boxes in remote sensing, and it appears in the export list alongside the same feature list that mentions oriented boxes for aerial images, so the two are consistent. CreateML covers the Apple platform path, and the fact that the tool also runs YOLO automatic labelling and YOLO export is a hint at who it is aimed at.

There are also utility features that are easy to miss and annoying to rebuild: converting video into image frames, and augmenting images. Both are the sort of thing that appears in a data preparation step rather than in an annotation tool, and having them in the same place saves a separate script.

The converter scripts are the open part of the project

The scripts in the repository are the most reusable objects in it, and their names describe a small conversion toolkit. general_json2yolo.py converts the general JSON annotation format to YOLO format. mask2polygons.py converts masks into polygons. rle2polygons.py converts run length encoded masks into polygons. pycocoDemo.py is a demonstration that works with the COCO format, and rectlabel_logo.py generates the project logo, which is the one file here that is not about data.

Together they describe the data path the product uses. An annotation made in the app can be a mask, and the mask can be turned into a polygon for a detector, or into run length encoding for a segmentation model, and the general JSON can be turned into the YOLO layout that a training script expects. The notebooks/ directory suggests the same conversions are demonstrated in an exploratory form, and the sample/ directory gives you a small set of images with their annotations to try them on.

That makes this repository the piece to clone if what you want is the format handling rather than the application. If your pipeline has to accept a mixture of annotation styles, these scripts are a starting point that you can read, run and extend, and unlike the app they come with a licence you can read in the LICENSE file.

What the repository does not give you is the interaction model. The hand-drawn polygon editor, the prompt-based labelling and the Core ML auto-labelling are all in the app, and the help page is where the documentation for those lives.

A closed app with a public feature list and an open issue tracker

Two facts about the project shape how you should treat it. The first is that the licence of the repository is not detected, and the top level listing contains a README.md, a .github directory, the scripts, the notebooks and the sample data with no LICENSE file among them. The application is a commercial product sold through the Mac App Store, and the code that produces the annotations is not published. The scripts and the sample data are the open part, and the terms for them are not stated in a file in the tree.

The second is the maintenance position. The repository is not archived, the last push was on 2026-06-10, and it publishes no GitHub releases, which is consistent with a support repository rather than a released tool. There is no version history to consult and no changelog to diff, so the feature list in the README is the authoritative statement of what the current apps do, and it is a list that moves with the available models, since it names Segment Anything Model 3 and YOLO26 by version.

The support model follows from that. Feature requests go to the issues page, which makes the roadmap visible and gives you a place to argue for a format or a model you need, and the offer to help teams that need a RectLabel-like app inside their own system is a commercial conversation. If you are deciding whether to adopt the tool, the two questions worth asking are what happens to your data when the app stops being sold, and what happens to the scripts in this repository if you depend on them, and the answers to both are in the licence and the archive status rather than in the documentation.

Editorial conclusion

RectLabel fits an annotator who works offline, needs prompts rather than hand-drawn boxes for a large backlog, and wants to leave a project in a format their training pipeline already reads, since the export targets cover YOLO, COCO, CreateML and DOTA. It is the wrong tool if you need the source code, because the apps are closed binaries distributed through the Mac App Store and this repository holds documentation, converters and sample data only, and it is the wrong tool if you need a tool your team can extend, which is why the project asks you to contact them if you need to implement a RectLabel-like app inside your own system. Before you commit, read the help page for the interaction model, check that your annotation format is one of the export targets, and note that the feature requests go to the issues page of this repository, which is the visible part of the roadmap.

Frequently asked questions

What is the RectLabel-support repository and what is in it?

It is the support page for RectLabel, the offline image annotation tool for object detection and segmentation, not the application itself. It contains a feature list, a set of converter scripts such as general_json2yolo.py, mask2polygons.py, rle2polygons.py and pycocoDemo.py, a notebooks directory and a sample directory with images and annotations.

Which machine learning models does RectLabel use for labelling?

Segment Anything Model 3 is used with text and box prompts to label multiple objects at once, Segment Anything Model 2 and the Cellpose model label polygons and pixels, a Tracking model labels bounding boxes, and automatic labelling runs on Core ML models including RF-DETR and YOLO26.

Which annotation formats can RectLabel export to?

The documented export targets are YOLO, COCO, CreateML and DOTA, along with indexed colour mask images and grayscale mask images. The repository also carries scripts that convert the general JSON format to YOLO, masks to polygons and run length encoded masks to polygons.

Where do I get the RectLabel app itself?

The applications are distributed through the Mac App Store, with separate listings for RectLabel and RectLabel Pro linked from the repository README. The support repository does not contain the application source or build, and feature requests are posted on its issues page.

Official sources

  1. Issues
  2. Project website
  3. README
  4. ryouchinsa/Rectlabel-support on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ryouchinsa-rectlabel-support.svg)](https://hysenlabs.com/projects/ryouchinsa-rectlabel-support)

Was this useful?