| Guide | GDE-094 |
| Topic | Image translation |
| Domain | Digital forensics |
| Last tested | 27 October 2026 |
Short answer: To translate image text, upload the photo to Google Translate's Images tab, then check the wording in a second engine such as DeepL. Set the source language yourself, because a wrong guess can leave words untranslated or change a name.
How do you translate text in an image?
To translate an image is to extract the text in a photo or screenshot with optical character recognition and render it in another language, so you can read signs, documents and posts written in a language you do not know.
Optical character recognition (OCR) turns pixels into letters; machine translation turns those letters into your language. Image translators such as Google Translate run both steps at once, while a local OCR engine such as Tesseract gives you the raw text to check separately.
Each step fails in its own way. OCR misreads small or angled letters, and a translator that guesses the wrong source language may transliterate a word, writing it in Latin letters, instead of translating it.
| • | Reading signs in a photo you are geolocating |
| • | Translating screenshots of posts, chats or documents |
| • | Checking a caption or claimed translation against the image |
| • | Identifying which language, and so which region, a sign points to |
How do you translate an image and check the result?
Crop to the text, identify the language from the image itself, translate with the source language set by hand, then confirm the wording and every name in a second engine.
All five tools are free; status is as tested on 27 October 2026.
Google Translate (Images): Google Translate's Images tab reads the text in an uploaded JPG, PNG or WebP photo, detects the language and overlays a translation. Working; we tested in a browser already signed in to Google, so the signed-out experience is unconfirmed.
Yandex Translate (Images): Yandex Translate's image page reads uploads up to 5 MB and has an image URL field. No login asked for. Working, but check the source language it uses.
DeepL Translator: DeepL Translator is a second engine for extracted text, with alternative wordings. No login for typed text; the free web page does not take images. Working.
Tesseract OCR: Tesseract OCR is an open-source command-line engine that extracts text on your own machine, with one data file per language, such as ukr or rus. Version 5.3.4 working.
CyberChef: CyberChef's Optical Character Recognition operation runs in the browser with no upload or login. Working, but it offered no language option and read only Latin script.
What we tested: On 27 October 2026 we ran each tool on a public-domain (CC0) photo of a Kyiv street sign from Wikimedia Commons and on four generated sign images in Ukrainian and Russian. Google Translate and DeepL read the sign correctly; Yandex Translate transliterated one word until we set Ukrainian; Tesseract lost letters with the wrong language file and misread the photo; CyberChef failed on Cyrillic.
Photo: detected Ukrainian, read "K. MALEVICH street (Bozhenka)". | ||
Photo upload: "vulitsia" with the source on Russian, "Street K. Malevich (Bozhenko)" on Ukrainian. The URL field could not fetch the file. | ||
Typed sign text: detected Ukrainian, "K. Malevich Street (Bozhenko)". | ||
Generated images: 4 of 4 near-exact with the matching file, 3.9 to 16.5% character errors with the wrong one. Photo: missed "вулиця" and the house number. | ||
Generated Ukrainian image came out as Latin look-alikes: "Bxig 3a6opoHeHo". |
One photo and four generated images in Cyrillic, run once each: a snapshot, not a benchmark for other scripts.
The Source-Script Rule: Identify the language from the letters and words you can see in the original image, not from the OCR or translation output. Set that source language by hand before you trust any translation.

