A lightweight, privacy-first alternative to Google Photos — powered by Telegram. Your data, your control.
Release 12.8.0
The latest build focuses on smarter themes, faster OCR, and more control over what gets scanned.
Telephoto now follows your system theme without extra taps.
Sharper recognition and better accuracy on tricky text.
Resolved the layout glitch that appeared during search.
Pick specific folders you want Telephoto to scan and back up.
Process multiple images in parallel for faster batch scans.
Run OCR again on any photo when you need updated results.
Quickly rotate photos before sending them to your bot.
Grab the latest APK directly in-app—no manual sideloading needed.
Fetch and manage OCR language packs from inside Telephoto—no external download steps.
Large text-heavy images (like book pages) may take a few minutes per image to finish OCR.
| Feature | Telephoto | Google Photos / Others |
|---|---|---|
| Monthly Cost | Free Forever | Paid Subscriptions |
| Storage Space | Unlimited | Capped (e.g. 15GB) |
| Ownership | You own the server (Telegram Bot) | Corporate Cloud |
| Access Everywhere | Telephoto App + Any Telegram Client | Proprietary App Only |
| OCR & Text Search | Offline, 100+ Languages | Online Only, Limited Languages |
Uploads only new or missing photos. Intelligent scanning saves battery and data.
Smart folder exclusion. Skip WhatsApp, Telegram, or system folders easily.
Uses your own Telegram bot token. You are the only person who can access your files.
Back up the app database and settings to your Downloads folder for easy restoration.
Supports photos up to 10 MB per image—perfect for high-res smartphone photography.
Rebuilt using Flutter & Dart for smoother performance and minimal battery drain.
Extract text from images offline. Search photos by content using 100+ language models.
Find photos by recognized text. Works completely offline with downloaded OCR models.
Download OCR models for 100+ languages. Mix and match for multilingual text recognition.
Download Tesseract OCR language models to enable offline text recognition and search. Simply search for your language below and download the model directly from the app.
| Code | Language | Download |
|---|---|---|
| afr | Afrikaans | afr.traineddata |
| amh | Amharic | amh.traineddata |
| ara | Arabic | ara.traineddata |
| asm | Assamese | asm.traineddata |
| aze | Azerbaijani | aze.traineddata |
| aze_cyrl | Azerbaijani - Cyrillic | aze_cyrl.traineddata |
| bel | Belarusian | bel.traineddata |
| ben | Bengali/Bangla | ben.traineddata |
| bod | Tibetan | bod.traineddata |
| bos | Bosnian | bos.traineddata |
| bul | Bulgarian | bul.traineddata |
| cat | Catalan; Valencian | cat.traineddata |
| ceb | Cebuano | ceb.traineddata |
| ces | Czech | ces.traineddata |
| chi_sim | Chinese - Simplified | chi_sim.traineddata |
| chi_tra | Chinese - Traditional | chi_tra.traineddata |
| chr | Cherokee | chr.traineddata |
| cym | Welsh | cym.traineddata |
| dan | Danish | dan.traineddata |
| deu | German | deu.traineddata |
| dzo | Dzongkha | dzo.traineddata |
| ell | Greek, Modern (1453-) | ell.traineddata |
| eng | English | eng.traineddata |
| enm | English, Middle (1100-1500) | enm.traineddata |
| epo | Esperanto | epo.traineddata |
| est | Estonian | est.traineddata |
| eus | Basque | eus.traineddata |
| fas | Persian | fas.traineddata |
| fin | Finnish | fin.traineddata |
| fra | French | fra.traineddata |
| frk | German Fraktur | frk.traineddata |
| frm | French, Middle (ca. 1400-1600) | frm.traineddata |
| gle | Irish | gle.traineddata |
| glg | Galician | glg.traineddata |
| grc | Greek, Ancient (-1453) | grc.traineddata |
| guj | Gujarati | guj.traineddata |
| hat | Haitian; Haitian Creole | hat.traineddata |
| heb | Hebrew | heb.traineddata |
| hin | Hindi | hin.traineddata |
| hrv | Croatian | hrv.traineddata |
| hun | Hungarian | hun.traineddata |
| iku | Inuktitut | iku.traineddata |
| ind | Indonesian | ind.traineddata |
| isl | Icelandic | isl.traineddata |
| ita | Italian | ita.traineddata |
| ita_old | Italian - Old | ita_old.traineddata |
| jav | Javanese | jav.traineddata |
| jpn | Japanese | jpn.traineddata |
| kan | Kannada | kan.traineddata |
| kat | Georgian | kat.traineddata |
| kat_old | Georgian - Old | kat_old.traineddata |
| kaz | Kazakh | kaz.traineddata |
| khm | Central Khmer | khm.traineddata |
| kir | Kirghiz; Kyrgyz | kir.traineddata |
| kor | Korean | kor.traineddata |
| kur | Kurdish | kur.traineddata |
| lao | Lao | lao.traineddata |
| lat | Latin | lat.traineddata |
| lav | Latvian | lav.traineddata |
| lit | Lithuanian | lit.traineddata |
| mal | Malayalam | mal.traineddata |
| mar | Marathi | mar.traineddata |
| mkd | Macedonian | mkd.traineddata |
| mlt | Maltese | mlt.traineddata |
| msa | Malay | msa.traineddata |
| mya | Burmese | mya.traineddata |
| nep | Nepali | nep.traineddata |
| nld | Dutch; Flemish | nld.traineddata |
| nor | Norwegian | nor.traineddata |
| ori | Oriya | ori.traineddata |
| pan | Panjabi; Punjabi | pan.traineddata |
| pol | Polish | pol.traineddata |
| por | Portuguese | por.traineddata |
| pus | Pushto; Pashto | pus.traineddata |
| ron | Romanian; Moldavian; Moldovan | ron.traineddata |
| rus | Russian | rus.traineddata |
| san | Sanskrit | san.traineddata |
| sin | Sinhala; Sinhalese | sin.traineddata |
| slk | Slovak | slk.traineddata |
| slv | Slovenian | slv.traineddata |
| spa | Spanish; Castilian | spa.traineddata |
| spa_old | Spanish; Castilian - Old | spa_old.traineddata |
| sqi | Albanian | sqi.traineddata |
| srp | Serbian | srp.traineddata |
| srp_latn | Serbian - Latin | srp_latn.traineddata |
| swa | Swahili | swa.traineddata |
| swe | Swedish | swe.traineddata |
| syr | Syriac | syr.traineddata |
| tam | Tamil | tam.traineddata |
| tel | Telugu | tel.traineddata |
| tgk | Tajik | tgk.traineddata |
| tgl | Tagalog | tgl.traineddata |
| tha | Thai | tha.traineddata |
| tir | Tigrinya | tir.traineddata |
| tur | Turkish | tur.traineddata |
| uig | Uighur; Uyghur | uig.traineddata |
| ukr | Ukrainian | ukr.traineddata |
| urd | Urdu | urd.traineddata |
| uzb | Uzbek | uzb.traineddata |
| uzb_cyrl | Uzbek - Cyrillic | uzb_cyrl.traineddata |
| vie | Vietnamese | vie.traineddata |
| yid | Yiddish | yid.traineddata |
How to Use OCR Models
/newbot to create your bot./start so it becomes active.Example replies
BotFather: Use this token to access the HTTP API: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 — copy the entire token.
Check_Telegram_IDBot: Your Chat ID: 987654321 — copy just the number.