PhotoRevive
Scan years of photo folders in one run, and rescue JPEGs that lost their tail.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
Free while we’re in preview
Get PhotoRevive
Scan years of photo folders in one run, and rescue JPEGs that lost their tail.
The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.
One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.
Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.
- One file — no installer
- Runs on your machine, offline
- Source code published below
Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, PhotoRevive is included in every plan along with the rest of the range.
The repair it actually performs
One specific fix, and it’s worth being exact about it. A JPEG cut off during a copy or download often still holds all its image data but lost the FF D9 end-of-image marker, so nothing will open it. PhotoRevive reads such a file, appends those two bytes to an in-memory copy, and tries to decode. If the copy decodes, the repaired version is written into --out-dir. If it still fails, real data is gone and no output file is written, so nothing broken is left behind.
The original on disk is never modified. Not during scan, not during repair.
Built for an archive, not a folder
Pass as many directories as you like on one command line. It walks each and prints one consolidated report across the whole batch, with per-directory counts and the path of every CORRUPT and UNKNOWN file. OK files are counted rather than listed, so a library of thousands stays readable. --json gives the full per-file classification.
Without --apply, repair still runs the real append-and-decode test, so WOULD-REPAIR is a prediction rather than a hope.
One known wrinkle: Go’s standard library ships no BMP decoder, so a perfectly valid .bmp reports CORRUPT. Treat BMP here as magic-byte sniffing only.
Reading on the job itself
- How to recover photos from a memory card Take the card out and make a byte-for-byte image of it. Everything after that happens on the image file, so...
- Why won't this video play? Read the container structure before you try to repair anything. An MP4 is a tree of boxes with declared siz...
Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams
A working CLI prototype of the multi-directory batch repair engine: scan a whole library across many folders for corrupt media, plus a real (narrow, best-effort) repair for JPEGs missing their end-of-image marker — independently verified to produce a genuinely decodable file, not just a claimed fix. Video reconstruction and deleted-file recovery need raw disk access and are on the roadmap.
Naming status
Working name only — brand verdict **AVOID** (Very High). Collision: Photo Revive / PhotoRevive+. Rename completely.
What it draws on
Existing paid software whose best ideas shaped this program: Wondershare Recoverit, Wondershare Repairit, Stellar Repair for Video, Stellar Photo Recovery.
Command line
There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.
PhotoRevive - batch corrupt-media scanner and narrow JPEG repair tool
Usage:
photorevive scan <dir> [<dir> ...] [--json]
photorevive repair <dir> [<dir> ...] --out-dir <dir> [--apply]
photorevive help
Run "photorevive <command> -h" for details on a specific command.
Recorded from the shipped binary, not written by hand.
Source
Every file the program is built from:
console.go · console_test.go · guided.go · main.go
SHA-256 checksums · build instructions & scope notes · full build plan