Berni-k/SharpTagManager

A Windows desktop tool for tagging and organizing image datasets for training image models, with a wide range of features to support the workflow.

★ 0Forks 0C#GitHub ↗Compare

README

SharpTagManager

A Windows desktop tool for tagging and managing image datasets (e.g. for training image models). Built with WinForms/.NET.

Main window

Features

  • Organize images into projects (.SharpTag)
  • Tag editing with a flexible autocomplete
  • Layer-based tag organization
  • Bounding area tag support
  • Follows Windows design conventions — native look and feel, with drag-and-drop and clipboard support throughout
  • Built-in image augmentation and cropping
  • Performant on large datasets (> 10k items)
  • Flexible dataset export
  • Scripting support (auto-tagging, tag editing, image transforms) in any CLI-capable language

Requirements

Screenshots

Preview Layer properties
Preview Layer properties
Scripting Export
Scripting Export

Usage demo

Usage demo

Documentation

  • Example project — a small ready-made project to open and explore.
  • Quick Start — installing, creating a project, adding images.
  • Basic Usage — the main window, tagging workflow, drag & drop, shortcuts.

See the full documentation index for everything

Installation

Download a release, extract the zip into any folder, and run SharpTagManager.exe. There's no installer — it's portable, and can be deleted by just removing the folder.

Building

Visual Studio

Open SharpTagManager.sln and build/run as usual (Release configuration recommended).

Command line

Requires the .NET 6 SDK

dotnet build -c Release

A self-contained build (bundles the .NET runtime, no separate install needed) is also available via dotnet publish -c ReleaseSelfContained.

Running on Linux

SharpTagManager is a Windows Forms app and isn't natively cross-platform, but it runs under Wine:

  1. Install Wine (e.g. on Ubuntu/Debian: sudo apt install wine; on Arch: sudo pacman -S wine).
  2. Grab (or build) the self-contained release — it bundles the .NET runtime, so you don't need to install .NET or Mono into your Wine prefix.
  3. Extract the zip anywhere and run it:
    wine SharpTagManager.exe
    
  4. If you hit rendering glitches, try a fresh Wine prefix (WINEPREFIX=~/.wine-sharptagmanager wine SharpTagManager.exe) or set the Windows version to 10 in winecfg.

Contributing

Before diving into the source, please read CONTRIBUTING.md for the technical details.

Acknowledgements

Inspired by BooruDatasetTagManager.

License

MIT — see LICENSE.

Contributors

Berni-k

Issues