The granddaddy of web-based image annotation still runs on Perl and Apache
MIT's LabelMe tool lets teams annotate images through a browser instead of shipping datasets around.

What it does
LabelMe is a browser-based image annotation tool born at MIT CSAIL in 2008. You host it on your own Apache server, dump images in a folder, and users draw polygons, scribbles, and labels through a web interface. Annotations land as XML files on disk—no database required.
The interesting bit
The whole thing predates modern CVAT or Label Studio by a decade, yet it still ships with a Mechanical Turk mode and granular URL-parameter permissions (actions=rmd lets you rename, modify, delete but not create). The server stack is a time capsule: Perl CGI for the backend, PHP 5.6, and server-side includes for SVG drawing.
Key highlights
- Self-hosted; no cloud dependency or dataset upload
- Mechanical Turk integration with sandbox mode and custom instructions
- Granular permission control via single-letter URL flags (
n,r,m,d,a,v) - Scribble mode for segmentation masks alongside polygon annotations
- Docker files included, though the README still leads with Apache/Perl setup
Caveats
- Requires Apache with SSI enabled and Perl CGI; the README calls these “the most common source of errors”
- PHP 5.6 is explicitly required, which reached end-of-life in 2018
- Images must be
.jpgwith alphanumeric filenames—“no spaces or funny characters”
Verdict
Worth a look if you need a dead-simple, air-gapped annotation setup and don’t mind tending a LAMP stack. Everyone else should probably use something from this decade.