Free & open source · MIT

Google Photos edits one photo at a time.
Chorus edits all of them.

Select any number of photos, pick an action, and Chorus works through the whole selection — enhance, filter, crop, rotate, describe or revert. It drives Google Photos' own editor inside your browser. Nothing is uploaded, nothing is counted, nothing is capped.

The Chrome Web Store listing is being rebuilt. Until it's back, clone the repo and load it unpacked — instructions are in the README.

Six actions, applied to everything you selected

These are Google Photos' own editing tools. Chorus doesn't reimplement them — it just stops you having to click them once per photo.

  • Enhance

    Runs Google Photos' one-tap auto-enhance on every photo in the selection.

  • Filter

    Applies one of Google Photos' built-in looks — Vivid, Playa, Honey, Isla and the rest — across the whole set.

  • Crop

    Sets a single aspect ratio across the selection: 1:1, 4:5, 16:9, 3:2 and others.

  • Rotate

    Rotates or flips every selected photo, for when a whole import came in sideways.

  • Description

    Writes one caption across the selection — replacing what's there, or appending to it.

  • Revert

    Undoes edits back to the original, across the whole selection. Not gated behind anything.

How it actually works

  1. 1

    You select photos in Google Photos

    Shift-click a range or pick them individually. A Bulk button appears in the same toolbar that shows Share and Download.

  2. 2

    You choose an action

    The panel opens over Google Photos with the six actions. Pick one, set its options, confirm.

  3. 3

    Chorus drives the real editor

    It opens each photo, clicks through Google Photos' own editing controls exactly as you would by hand, waits for the save to land, and moves to the next one.

  4. 4

    You can walk away

    A progress widget tracks the run and you can pause or stop it at any point. If Chrome restarts or the tab closes, the batch resumes where it stopped.

Why it asks for the debugger permission

Google Photos' editor ignores synthetic clicks from an extension — it only responds to trusted input events. The only way to automate it is through Chrome's DevTools Protocol, which is why Chorus asks for the debugger permission and why Chrome shows a "debugging this browser" banner while a batch runs. The debugger attaches only to your Google Photos tab, only while a batch you started is running, and detaches the moment it finishes. If you'd rather verify that than take our word for it, that logic lives in src/lib/cdp.ts.

Read src/lib/cdp.ts →

What Chorus deliberately doesn't do

Every claim here is checkable against the source, which is the point of shipping it open.

No server
There is no backend. The extension makes no network requests at all while it runs — your photos are never uploaded, copied or transmitted anywhere.
No account
Nothing to sign up for, nothing to log into. Install it and it works in your existing Google Photos session.
No telemetry
No analytics, no crash reporting, no usage counters phoning home. The only thing on disk is your theme preference and the state of a running batch.
No limits
There is no free tier because there is no paid tier. Edit six photos or six thousand.

Don't take our word for it

The whole extension is a few thousand lines of TypeScript. Clone it, read it, build it yourself, or fork it and change whatever you like — it's MIT licensed.

git clone https://github.com/heyitsR1/chorus-google-photos.git
cd chorus-google-photos
pnpm install && pnpm build

Questions worth answering up front

Does Chorus upload my photos?

No. There is no server to upload them to. Every edit happens through Google Photos itself, in your own browser session, and the extension makes no network requests while it runs.

Why does it need the debugger permission?

Google Photos' editor only responds to trusted, hardware-level input events. Synthetic clicks dispatched by an extension are ignored, so the DevTools Protocol is the only way to automate it. It attaches only to your Google Photos tab, only during a batch you started.

Is it really free?

Yes, and it's MIT licensed. There are no tiers, no photo caps, no subscription and no upsell inside the extension. If it saves you time there's a support link, but nothing is gated behind it.

How many photos can I edit at once?

As many as you like. There's no cap. Longer runs simply take longer — each photo has to go through Google Photos' editor and save.

How fast is it?

A few seconds per photo, depending on the action and how quickly Google Photos saves. It's designed so you can start a batch and go do something else.

What happens if a photo fails?

It gets skipped and the run continues. You'll see a summary at the end, e.g. "48 enhanced, 2 skipped."

What if Chrome crashes halfway through?

Progress is saved as the batch runs. Come back to Google Photos and it picks up where it stopped.

Does it work on mobile?

No. Chorus is a Chrome extension that runs on photos.google.com in desktop Chrome. It can't run on mobile browsers or inside the Google Photos app.

Will it break when Google changes Google Photos?

Occasionally, yes — it depends on the structure of the Google Photos page. When that happens, open an issue and it gets fixed. The selectors it relies on are documented in one file in the repository.

Is Chorus affiliated with Google?

No. It's an independent open-source project, not affiliated with, endorsed by or sponsored by Google. Google Photos is a trademark of Google LLC.

Stop clicking through your own album.

Free, MIT licensed, and small enough to read in an afternoon. Contributions and bug reports welcome.