The tool uses Tesseract.js, a WebAssembly build of the open-source Tesseract OCR engine. Before recognition, the image is prepared to help the engine: small images are enlarged so their width approaches 2500 pixels (never more than three times the original size), and the colours are converted to high-contrast greyscale. Tesseract then finds lines of text and converts them to characters. The page layout is detected automatically.
Recognition starts as soon as you choose a file, and a progress indicator shows each stage.