Why a folder is not just one picture repeated
Marking one photograph is typography: you look at it, you move the wording until it sits right, you save. Marking three hundred is a different exercise, because you cannot look at three hundred. Everything that is easy about the single-file case — judging the size by eye, nudging the position, checking the colour against the background — stops scaling at about file four.
So the run is built around a different question: what has to be true of a setting for it to be correct on files you have not seen? Three answers, and all three are in the inspector rather than in advice.
- Every size is a proportion, never a pixel count. The mark's width is a percentage of each picture's width and the inset is a percentage of its shorter edge, so a folder of mixed sizes gets marks that are the same size relative to their frames.
- Nothing depends on the first file's shape. A portrait and a landscape given the same bottom-right placement both get a mark the same distance in from their own two edges.
- The colour is not a proportion of anything, so it is decided per picture instead. The pixels under the mark are read on each file before the mark goes on, and the ink is chosen against them — dark wording on the pale ones, pale on the dark ones, an outline where the backdrop is both.
- Anything that cannot be honoured is reported rather than approximated. A frame narrower than the mark at that percentage gets a clamp and a line in the list, not an overflow nobody notices until the ZIP is open.
How the run goes
| Order | Names sorted the way a file manager sorts them, with digits compared as numbers. |
|---|---|
| At a time | Up to four files, or one fewer than the cores the browser reports — whichever is smaller. |
| Memory | A file is opened, marked, written into the archive and released before the next one in that lane starts. Peak use is the number of lanes, not the size of the folder. |
| Naming | {name}-wm, {name}_marked, marked-{name}, the original name untouched, numbered, with the size — or a rule of your own from {name}, {n}, {w} and {h}. A collision inside the archive gets a numbered suffix rather than losing a file. |
| Archive | A stored ZIP, assembled as each file lands, handed to your downloads when the last one is in. |
| The ink | Read off each picture before the mark lands: the colour under the mark, how far it runs from light to dark, and the contrast the mark then measured against it. |
| The list | One line per file: what it was called, what it is called now, how big it is, how big the mark came out in that file's own pixels, where it landed and what it measured — or why it was left out. |
The completion line is a count, not a reassurance: the number of files written, the number left out, the size of the archive, how many had their ink decided for them, and how many came out under the floor anyway. If four were skipped it says four were skipped, and the four lines saying why are directly underneath it.
Get file one right before you run four hundred
The first picture in the queue is opened and shown so the mark can be judged against a real photograph from this very folder rather than against a description of one. It is worth spending a minute on it, because every saving from a run comes out of that minute. Five things to look at:
- Is it legible at the size the pictures will actually be seen? Zoom the browser out to roughly the width the pictures will appear at online. A mark that reads at full size and disappears at feed size is not doing the job.
- Is the contrast floor where you want it? The colour is no longer your problem file by file — it is decided per picture against what each one actually has under the mark — but how visible a watermark ought to be is a judgement about your photographs, and that is the number the floor sets.
- Is the corner you chose empty in every picture, or only in this one? If the answer is only in this one, repeating it across the frame is the honest choice.
- Is the output format the one you want? Setting it to keep the original means a folder of PNGs stays PNG and a folder of JPGs stays JPG, which is usually right and is occasionally very wrong.
- Does the naming template leave you able to tell the marked file from the original at a glance? If you save into the same folder with the original name, you will not be able to.
Save the setting once it is right. It is kept in this browser under whatever you call it, and the next folder starts where this one finished.
What gets left out
A run reports rather than guesses. Four things put a file on the skipped list, and each of them names itself in the line it writes.
- A file over 120 MB, which is past the point where opening it is a reasonable thing to attempt in a tab.
- A picture past about 100 megapixels — 40 on an iPhone or iPad — which is the hard ceiling rather than the soft one.
- A picture past the soft ceiling when the lighter-copy switch above the run is turned off. Turned on, it is worked on at a reduced size and the line says so.
- A file the browser will not decode at all: a broken download, a RAW file with a photographic extension, a PDF that was renamed.
How many pictures can go in one run?
Five hundred. That figure is a judgement about how much a browser tab will hold rather than a measurement on your machine, and a run of four hundred raw conversions on a five-year-old phone is a different proposition from four hundred web JPGs on a desktop. If a run stalls, halve it: two archives are no worse than one.
One colour cannot be right on every picture. What happens to the ones it is wrong on?
The ink is decided per file. Before the mark goes on, the pixels inside the box it is about to land in are read on that picture at its own size, and if the colour as set would not reach the contrast floor you chose, the ink is flipped to whichever of black or white actually reads against that backdrop. Where the backdrop runs light to dark across the mark — banding, a horizon, a bright window behind a dark sill — no flat colour reads against both halves, so that file gets an outline instead. The ratio each file ended up with is measured off the finished frame and printed on its line.
What is the contrast floor, and what should I set it to?
It is the WCAG contrast ratio a mark has to reach on a file before that file is left alone, measured at the worse of the backdrop's two halves rather than at its average — an average is exactly the figure a banded corner defeats. Two to one is the usual answer for photographs: visible at a glance without owning the picture. Three to one is WCAG's floor for a graphic and is unmistakable, at some cost to the photograph. A semi-transparent mark cannot always reach the floor you ask for, and when it cannot the run says so and names the files rather than quietly raising the opacity.
Will the same setting look right on pictures of different sizes?
That is the whole reason the size is a percentage of each picture's own width and the inset is a percentage of its shorter edge. A folder holding 1200-pixel exports next to 6000-pixel originals gets marks that occupy the same proportion of each frame, which is what looking right means here.
What order do the files come back in?
The order a file manager would show them in — names compared with the numbers read as numbers, so photo-9 comes before photo-10. Several files are worked on at once, but they are written into the archive strictly in that queue order, so a sequence out of a camera comes back as a sequence.
What happens to a file the browser cannot open?
It takes its own line in the list with the reason, and the run keeps going. Stopping four hundred files because of number forty-one would be the wrong trade every time, and a run that quietly dropped it would be worse still.
Can I give each file a different position?
Not by hand for every file. One mark, one placement, every file — that is what makes the result predictable and what makes a saved setting worth keeping. Two exceptions: the folder check, after sampling the queue with the subject finder, can move the mark on its worst frames to their own best spot for this run, and each of those files says so on its line. And shape: portrait pictures can be given their own grid point and size, so a folder of mixed orientations does not end up with a banner across every tall frame. The recipe proof shows the result on a landscape, a portrait and a square crop of your first file before anything runs. A picture that needs its own treatment is a single-file job.
Does the archive get compressed?
No, and that is deliberate. JPG, PNG and WebP are already compressed; squeezing them again costs seconds per file and saves a fraction of a percent. The ZIP is a container here, not a compressor.
What does "skipped" mean in the list?
A file that was not marked, with the reason on its own line: the browser could not decode it, or it was larger than the memory limit and you chose not to work on a lighter copy. Nothing is written into the archive for it, and the file on your disk is untouched. "Marked" on a line means a visible mark is on that file.
Can I stop and continue later?
Yes. Pause holds the run between files and Resume carries on. Stop finishes the files already in flight and hands back an archive of everything done so far — and remembers which files those were, by name, size and date only. Queue the same folder again with the same settings and the page offers, with equal weight, to skip the ones already marked or to start over. A different list or changed settings is always a fresh run.
Does anything get uploaded?
No. The pictures are read, marked and written into the ZIP inside this tab, and the archive is handed to your browser's own download. There is no server here that accepts a picture.

