Media Rescue Lab

PhotoRevive

Scan years of photo folders in one run, and rescue JPEGs that lost their tail.

Free right now — no account, no card

Get PhotoRevive free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design PhotoRevive, 1 of 1
Screenshot PhotoRevive running on Windows today

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

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