Dashboard

Drop an OTP screenshot or PDF — the code is read automatically.

Codes extracted
0
across all uploads
Success rate
no attempts yet
Avg read time
per successful read

Extract a code

PNG, JPG or PDF · up to 16 MB

Detected OTP

Recent

Your last few extractions

Pipeline inspector

See the two stages separately — how predicting on the cropped arrow-row differs from predicting on the full image.

Extraction history

WhenFileResultStatusTime

How it works

1
OCR the image

Tesseract reads every token and its position (sparse-text mode).

2
Collect candidates

Every 4–8 digit group becomes a candidate — including decoys.

3
Find the label

Locates the “OTP” / arrow marker and picks the digit group nearest it, biased rightward along the arrow.

4
Fallback pass

For low-contrast images it retries on a grayscale → upscale → denoise → threshold version.

API

Same endpoint the dashboard uses

# POST a file, get JSON back
curl -X POST http://localhost:5000/extract \
  -F "file=@otp_sample.jpg"

# → { "otp": "753050",
#     "candidates": ["753050","257181","045308"],
#     "rejected": ["257181","045308"],
#     "ms": 1240 }