Add Stamp

Put your mark on a whole folder of frames. Nothing leaves the browser.

User guide

A folder in,
a stamped ZIP out.

Five steps, one screen. Your frames are decoded, stamped and re-encoded by a WebAssembly module running inside this tab — there is no upload, no account, and no server that ever sees a pixel.

wasm v2.1.2jpg · q75≤ 120 MP per framepng stamp ≤ 10 MB
© STUDIO DSC_4821.jpg

DSC_4821_stamped.jpg · 4000×6000 · jpg q75

Step one

Bring in the frames

Drop a folder’s worth of images onto the Frames panel, or click it and pick them from disk. JPEG, PNG and WebP all read, mixed together in one batch if that is what you have.

The strip previews the first eight; the rest are counted, not decoded, so a hundred-frame batch does not cost you a hundred full-size previews before you have even chosen a stamp.

  • Total size and the largest file are listed under the strip.
  • Clear drops the whole selection and starts over.
  • Anything past 120 MP is refused from its header, before it is decoded.

Drop frames here or pick them from disk

jpg · png · webp

+116

Total120 frames · 2.4 GB

Step two

Pick the mark

The stamp is a single PNG, up to 10 MB. PNG only, because it is the format that carries a real alpha channel — a JPEG logo would arrive with a white box around it.

It is previewed on a checkerboard rather than on the mat: most stamps are white, and white on a pale surround shows you nothing. The checks are there so the transparency you are about to rely on is visible.

  • Centred on every frame, scaled to fit, with 10 px of clear space.
  • One stamp per run — swap it with Remove and pick again.
  • A .png name over non-PNG data is caught and explained.
© STUDIO

Size1200×240 · 86.4 KB

Positioncentred · contained with padding

Step three

Dial the opacity

Four presets and a slider. The swatches are filled with the coral they stand for, so 25 % looks like 25 % before you click it; the slider covers everything in between.

The preview reacts as you move — which is the point. A mark at 100 % signs the frame, a mark at 25 % only whispers over it, and which one is right depends on the photograph, not on a number someone recommended.

  • The value applies to every frame in the batch.
  • Try it here — this is the real control, not a picture of one.
© STUDIO

Stamp opacity

75%

Step four

Apply the stamp

Apply stamp wakes up once both halves are filled. Frames go through one at a time, and the line under the bar names the one being worked on, so a batch that stalls tells you which file did it.

Decide on the caption before you start: the switch under the frame strip writes each file’s own name along its bottom edge, in grey at half opacity, sized to the frame so a small crop and a stitched panorama both stay readable.

  • Keep the tab in front — a backgrounded tab gets throttled by the browser.
  • The finish line reports the frame count and the seconds it took.

Stamping

77 / 120 · DSC_4821.jpg

120 frames stamped in 8.4 s

Step five

Take the batch

The gallery turns into the stamped set, every frame ticked, and two ways out sit beside it. Save to folder opens your file browser, and the frames are written into the folder you point at as loose files — nothing to unpack. Download ZIP says what the archive weighs before you commit, and works in every browser.

Reset all returns the page to how it loaded: frames, stamp, results and settings all go, ready for the next folder. It is there from the moment anything changes, not only at the end of a run.

  • Saving to a folder needs Chrome, Edge or another Chromium browser; the ZIP does not.
  • Inside the archive everything lands in a stamped-images/ folder.
  • Output is JPEG at quality 75, named <original>_stamped.jpg.
  • Hover a frame in the gallery for its dimensions and megapixels.

Archivestamped-images-1758…zip

Insidestamped-images/

Good to know

Six answers, before you ask them

Nothing leaves the browser

The whole pipeline is a WebAssembly module fetched once and run locally. Work offline if you like — after the first load there is nothing left to reach for.

Why JPEG comes out

Quality 75 is the sweet spot for a set meant to be sent on. JPEG has no alpha, so anything translucent is composited onto white before it is encoded.

The filename caption

Optional, off the switch under the frame strip. Grey at 50 % opacity, sized at 2.2 % of the frame’s shorter side and clamped between 16 and 96 px.

Where the limits sit

120 MP and 65 535 px per frame, checked from the header before any buffer is allocated — that is what keeps a decompression bomb from taking the batch down.

Large batches

Frames are processed one at a time, so memory stays flat however many you queue. Time scales with pixels, not with the number of files.

Light or dark

The studio follows your system until you pick a side, then it remembers. Frames always sit on a hue-free grey, so the surround never shifts your white balance.

Under the hood

The defaults, written down

Everything the interface does not ask you about. These are compiled into the Rust crate, so they read the same on every machine that loads the page.

Engine
wasm v2.1.2 · Rust
Output
jpg · quality 75
Stamp padding
10 px
Caption colour
#7d7d7d at 50 %
Max frame
120 MP · 65 535 px
Max stamp
10 MB png
Archive
zip · one folder, one pass

That is the whole thing

Go and put your mark on it.

Drag a folder in and the first stamped frame is a few seconds away.

Open the studio