Locate the first stage that failed
One known clear test image and one tight crop from the failed source.
Failure relationship
The comparison separates a source-image problem from a temporary service problem.
Next test
Test one large, upright line before converting or filtering the whole file.
An empty result is a symptom
A tight crop of one clear line is the fastest way to isolate file, scale, layout, and service problems.
Test the file and one clear line
Open the uploaded file outside the service and confirm it is not blank, damaged, or an unsupported animation frame. Export a standard JPG, PNG, or WebP copy if the source came from a scanner or specialist application.
Crop one large, upright, high-contrast line and try it separately. If that works, the problem is likely scale, layout, or clutter rather than the script itself.
Remove common obstacles
Rotate text upright, crop borders and photographs, and move closer to tiny print. Improve uneven lighting at capture time. If text is light on dark, keep the original and test a simple inverted copy without destructive filters.
Handwriting, decorative fonts, outlines, perspective, transparency, and text over images can exceed a general OCR model's useful range. Segment the easiest region first instead of repeatedly processing the whole page.
Start diagnosis with measurable source properties in the OCR image readiness checker before repeatedly submitting the same file.
Distinguish input failure from service failure
Try a known clear test image. If both the test and your source fail, wait and check the service again rather than degrading your image with repeated conversions. Keep the original file and note the error message.
For an irreplaceable or high-impact document, use a specialist OCR workflow or manual transcription. Do not interpret an empty result as permission to guess what the image says.
Diagnose an empty OCR result by checking file integrity, character size, orientation, contrast, crop, and service limits. Continue with the troubleshooting guide collection for adjacent workflows.