Step by step, when you drop a file
- The file is read from your disk into the memory of the browser tab. This is a local read — the same thing that happens when you open a file in any application.
createImageBitmapdecodes it into raw pixels, applying the EXIF orientation so the image is the right way up.- The bitmap is drawn to a canvas at the output dimensions, using high-quality resampling.
canvas.toBlobencodes it at your chosen format and quality.- The resulting blob is turned into a temporary URL and offered to you as a download.
Steps two to four run inside a Web Worker on a separate thread, which is why the interface stays responsive while a large batch processes. No step involves a network request.