SOOTYSnappy, Organized, Offline, Truly Yours

Share it with AI, open it instantly

A simple, clean asset manager for Mac
The interface steps aside so your assets are all you see

Windows and Linux versions coming soon
  • Works offline
  • On-device AI
  • One-time purchase
100,000 items, measured on an Apple M1 Max
0.14sOpen a library of 100,000 items
0.96msFilter by four combined conditions
6msFind images by description with on-device AI
225MBMemory in use after opening, not counting the UI

Median values measured in October 2026 on an Apple M1 Max with 100,000 items, reproducible with the bench command in the CLI

VIEW

Press Space to preview
all the common formats

You can try every tile below

Drag to rotate · double-click to reset

3D models

glTF, FBX, OBJ, STL and more render on the GPU, so even scanned models with millions of faces spin smoothly

Groove_Loop_124_Am.wav
0:00.0 / 0:07.7
BPM
124
Key
Am
Duration
0:07.7
Sample rate
44.1k

Audio

The thumbnail is the waveform, clicking anywhere on it plays from that point, and BPM and key are searchable

Fonts

Type to try a font, drag to change the weight, and click any character in the glyph table to copy it

Video

Move the pointer across a thumbnail to scrub through the video, step frame by frame in the preview, and change the speed without changing the pitch

CR3
Canon EOS R5RF24-70mm F2.8f/81/125ISO 100
Histogram

Photos and RAW

Ten camera RAW formats open, and the histogram counts every pixel and shows the value under the pointer

D7=SUM(D2:D6)
ABCDE
1ItemQtyUnit priceAmountDue
2Brand key visual1$12,000.00$12,000.00Nov 6, 2026
3Poster series6$1,800.00$10,800.00Nov 13, 2026
4Icon set24$350.00$8,400.00Nov 20, 2026
5Motion3$2,500.00$7,500.00Nov 27, 2026
6Tax6.0%$2,322.00
7Total$41,022.00
QuoteScheduleAsset list

Spreadsheets

Excel and CSV files look the way they were made, hundreds of thousands of rows scroll smoothly, and clicking a cell shows its formula

3 / 48 · 100%

PDF

Scroll straight through the pages and search the text directly

---
tags: [brand]
---
# Brand guide

Accent: **ice blue**
`#7DB8E6`, rest gray

- Square corners
- Phosphor icons
tags: [brand]
Brand guide

Accent: ice blue #7DB8E6, rest gray

  • Square corners
  • Phosphor icons

Markdown and code

Shown formatted, and you can press E to edit and undo back to any saved version

Prompt
lighthouse on a cliff at dusk, volumetric light, film grain, 35mm
Model
sd_xl_base_1.0
LoRA
detail-tweaker-xl · 0.6
Sampler
DPM++ 2M Karras · 28 steps
Seed
2795132024

AI image metadata

Install the plugin from the Plugin Center to read the prompt, model and seed and copy them back into WebUI

Images
JPEGPNGHEICWebPTIFFBMPSVGPSDGIFAPNG
Camera RAW
CR2CR3NEFARWDNGRAFORFRW2PEFSRW
Video and audio
MP4MOVMKVWebMAVIMP3AACFLACWAVAIFFALACOggCAF
Documents, fonts and 3D
PDFXLSXXLSODSCSVMarkdownCodeTTFOTFWOFF2glTFGLBFBXOBJSTLPLY3DS

GIF, animated WebP and APNG can be viewed frame by frame, and other formats open in Quick Look on the Mac

FIND

Filter by color,
see duplicates grouped

Both demos below are clickable, and filtering 100,000 items by color takes under 1 ms

Spectrum
Match
Covers at least

By color

Click a swatch in the spectrum, then set how much of the image the color must cover

Duplicates

Each group keeps the one with the highest rating and most pixels by default, and clicking a thumbnail switches it between Keep and Remove

Nothing is ever deleted automatically, and finding cropped or flipped copies needs AI search turned on

KEEP

Your library is a plain folder

Tags, ratings and notes are written to a metadata.json next to each item, which you can read without SOOTY
The index and thumbnails are caches that can be rebuilt if deleted

Design Assets/├── sooty.jsonLibrary name, format version├── folders/One JSON file per folder├── smart-folders/Smart folder conditions├── assets/│ ├── 01JBX4Q7…/One folder per item│ │ ├── poster-summer.jpgThe original file│ │ └── metadata.jsonTags, rating, notes…│ └── 01JBX4QA…/│ ├── Groove_Loop_124_Am.wav│ └── metadata.json├── thumbs/Thumbnails, rebuildable└── index.snapIndex snapshot, rebuildable
assets/01JBX4Q7…/metadata.json
Click a tag to see how metadata.json changes

Save from your browser

In Chrome or Edge, drag an image into the box at the top of the page or right-click to save it to SOOTY, and the source URL is saved with it

Keep it on a cloud drive or NAS

Several computers can share one library: one edits at a time while the others are read-only, and changes sync across

MCP

AI assistants ask you
before changing anything

AI assistants like Claude and Cursor connect to SOOTY over MCP to find items, add tags and create smart folders for you
SOOTY asks before anything changes, and every change can be undone

MCP tools

Install one extension in Claude Desktop, or add a short config snippet to Cursor or Claude Code

search_assetsget_assetlist_folderslist_tagslist_smart_folderslibrary_infofind_duplicatespropose_changesapply_changesundo_changesimport_assetscreate_foldercreate_smart_folder

Local API

While SOOTY is open, it serves an HTTP API on your Mac that scripts and Raycast can call
It only listens on 127.0.0.1, and every request needs a token

curl -G -H "Authorization: Bearer $T" \
  --data-urlencode "q=poster rating:>=4" \
  http://127.0.0.1:41590/api/v1/search

PLUGINS

Plugins run in a sandbox
controlled by SOOTY

Plugins are WebAssembly components, and SOOTY decides which files they can read, whether they can go online and what they can change

Reads only what it’s given

Plugins can’t touch the file system and only read the original files and thumbnails handed to them

SOOTY applies the changes

A plugin only returns a plan of changes, which you can undo afterwards

Going online needs your OK

Only to the domains listed in its manifest

Resource limits

Up to 512 MB of memory and a time limit on every call, so a crash only affects that call

sooty-plugin.toml
id = "yourname.size-tags"
name = "Size tags"
api = "0.6"
icon = "scales"             # Phosphor icon name

[[commands]]
id = "tag-big"
title = "Tag large files"
src/lib.rs
impl Plugin for SizeTags {
    fn run_command(_: &str, assets: Vec<Asset>) -> Result<CommandResult, String> {
        let patches = assets.iter()
            .filter(|a| a.size > 10 * 1024 * 1024)
            .map(|a| patch(&a.id).add_tag("large"))
            .collect();
        Ok(CommandResult::patches(patches, "Done"))
    }
}

The plugin interface, SDK and developer guide are open under the MIT license

12 built-in plugins

FontsPSD3D ModelsAI TagsSVG PreviewPDFSpreadsheetsMarkdownFormat ConverterAnimated ImagesCamera InfoAudio Info

6 more in the Plugin Center

Tag by FolderAI DescriptionAI Image InfoSharpnessTag by File NameTempo & Key Detection

Plugins can provideThumbnails and previewsProcessing on importContext menu commandsBackground analysisInspector panelsSearchable and sortable fieldsTag suggestions

PRICING

Buy once and it’s yours

Your library is a plain folder on your disk, and your license never expires
Every new feature released within a year of purchase is included, and if you liked the year’s work you can renew for another, though SOOTY keeps working if you don’t

Number of computers

Notify me at launch

On sale the day downloads open

FAQ

Questions people ask before buying

Didn’t find your question? Write to hi@sooty.app

Is there a Windows or Linux version?

Windows and Linux versions are coming soon, so pick your system in the download section and leave your email to hear the day they’re ready
The macOS version comes first and needs a Mac with Apple silicon (M1 or later)
A license works on any system and counts computers, not platforms

Notify me
Can I move over from Eagle?

Yes, SOOTY reads your Eagle library directly and brings over folders, tags, ratings, notes, source URLs and smart folders without changing a single byte of the Eagle library
You can keep using both while you move, and importing again only adds the new items

Step-by-step guide
How many computers does a license cover, and what if I get a new one?

A license covers as many computers as the tier you buy, and you can add more anytime by paying the difference
To switch computers, deactivate SOOTY on the old one and then activate it on the new one
If the old computer no longer works, you can deactivate it while activating the new one

Terms
Can I keep using SOOTY after the year of updates?

Yes, the versions and features you already have keep working and are never locked
New features released after that aren’t included, and if you want them you can renew for another year at no more than half the price

Why a year of updates
Where are my files stored, and does SOOTY need the internet?

Your library is a plain folder on your disk, and it can live on your Mac, a cloud drive or a NAS
SOOTY goes online once to activate and works offline after that
The first time you turn on AI Search, SOOTY downloads a model of about 1.5 GB, and after that analysis and search run on your computer without uploading your images

What if I can’t find my license key?

We email your license key after payment to the address you gave at checkout, so check your spam folder first
If it isn’t there, enter that email on the license page and we’ll send it again

Go to the license page

Get notified at launch

SOOTY is still being polished, the macOS version comes first, and Windows and Linux versions are coming soon
Pick your system and leave your email, and we’ll write to you the day it’s ready to download