LabelMe v6 changes two important defaults, adds support for large and multispectral TIFF images, and cleans up the CLI.
If you're upgrading from v5, read the Migration Guide below.
New Features
- Large and multispectral TIFF image support — float32 and multi-band TIFFs (e.g., satellite imagery) now load correctly and much faster (#1811, #1812)
- "Reset Layout" action — reset the window layout to default from the menu (#1864)
- Point shape click selection — point shapes are now properly clickable (#1860)
- Vertex hover priority — vertices are now prioritized over shape bodies in hover detection, making editing easier (#1867)
- Sparse config file —
~/.labelmercis now created with only user-changed settings instead of the full default config (#1796) - New translations — Polish (#1809), Thai (#1886), and Turkish (#1805)
Migration Guide
Auto-save is now ON by default
Files are saved automatically as you annotate. No data loss on accidental close.
- To disable:
labelme --no-auto-save - Or set
auto_save: falsein your config file - The old
--autosaveflag still works but will be removed in v7
Image data is no longer embedded in JSON by default
JSON files are now much smaller — they reference image paths instead of embedding base64 data.
- To embed image data:
labelme --with-image-data - Or set
with_image_data: truein your config file - The old
--nodataflag still works but will be removed in v7 - Existing config files using
store_dataare automatically migrated towith_image_data
Breaking Changes
CLI changes
- Positional argument renamed:
filename→path— now accepts image files, label files, or directories --outputsimplified: always expects a directory path (no longer accepts.jsonfile paths)- CLI flags standardized to hyphenated style:
--no-autosave→--no-auto-save--nosortlabels→--no-sort-labels--labelflags→--label-flags--validatelabel→--validate-label- Old forms are kept as hidden aliases and will be removed in v7
UI renames
- "Shape Labels" dock → "Annotation List" (#1828)
- "polygon" → "shape" in shortcuts and UI labels (#1822)
Removed
labelme_draw_json,labelme_draw_label_png,labelme_export_jsonCLI entry points — moved toexamples/as standalone scripts (e.g.,python examples/tutorial/draw_json.py)labelme_on_dockerCLI entry pointlabelme.utils.polygons_to_mask()andlabelme.utils.labelme_shapes_to_label()(deprecated since v4)
Fixes
- Fix crash on arrow keys when no shape is selected (#1457)
- Fix
ValueError: Shape not in listwhen previously selected shapes are missing (#1396) - Fix hang with
@symbol in file paths due to natsort (#1672, #1904) - Fix crash on unknown config keys — now warns and skips (#1887)
- Fix crash on malformed JSON in file dialog preview (#1900)
- Fix RGBA/transparent images in brightness/contrast dialog (#1872)
- Fix crosshair guide lines extending beyond image bounds (#1870)
- Fix pasted shapes not selected after cross-file paste (#1876)
- Fix rectangle right-to-left drawing in shape_to_mask (#1817)
- Fix out-of-bounds vertex crash in canvas (#1818)
- Fix RGBA PNG conversion in labelme2coco (#1830)
- Fix deprecated
np.boolusage (#1831) - Fix window position recovery when saved screen is no longer available (#1859)
- Fix out-of-bounds highlight for AI-generated masks (#1858)
- Fix mask incorrectly set on non-mask shapes (#1797)
- Show error dialog when image file fails to open (#1810)
- Force light mode — dark mode is not yet supported (#1808)
- Allow points on the edge of the pixmap (#1801)
Contributors
- @kancheng — Polish and Thai translations (#1809, #1886)
- @minewilliam — canvas edge fix and refactoring (#1782, #1801, #1802)
- @oguz-hanoglu — Turkish translations (#1805)
Full Changelog: v5.11.4...v6.0.0