Slideflow turns the scattered pile of .pptx files on your disk into one searchable library. Find any slide — by word or by meaning — drag it into a tray, and export a new deck with the exact look of its source.
Every slide is indexed as its own searchable object — not buried inside a file you have to open.
Titles, deck names, body text, and speaker notes — full-text indexed with SQLite FTS5, updated live as files change. Ranked so titles beat body, and body beats notes.
Prefix and diacritic-insensitive matching, with highlighted snippets in results.
Field scoping, exact phrases, OR / NOT, and date bounds — and any query can be saved to the sidebar.
Can’t remember the words on the slide? Describe it instead. Optional AI search ranks slides by what they’re about — across languages — and gives every slide a Find similar action. Mix it with exact search, or keep it off entirely.
one-time ≈490 MB model download · runs fully offline · off by default
Most tools that merge slides flatten them — layouts and themes get dropped, and the result looks broken. Slideflow copies each slide’s complete relationship closure, so a composed deck is indistinguishable from its sources.
shared parts deduplicated by content hash
Local-first and offline by design. There is no server, no sign-in, and nothing to upload to. You point Slideflow at folders you already own — that’s the entire trust boundary.
All parsing, search, preview rendering, and deck composition run natively on your computer. Even the optional AI search runs its model locally.
No LibreOffice, no bundled Python, no conversion APIs. Every .pptx is read and written by pure Rust.
The index is one local SQLite file. Delete it, and the index is fully reset. The preview cache re-renders on demand.
default-src 'self' — the app’s webview can’t phone home even if it wanted to.
MIT-licensed — read it, fork it, build it, ship it. Powered by a fast, pure-Rust engine on Mac, Windows, and Linux.
michaelseliger/slideflow$ slideflow search "pricing" --json
Ships with a CLI — the same engine, scriptable.