Skip to content

Image Text (OCR) ​

Many posts keep their content in the images: Instagram carousels, slides, screenshots of a thread. Social Archiver can read that text, save it with the post, and make it searchable everywhere: in the apps, in exported Markdown, and from the CLI for AI agents.

Text recognition you start yourself runs on your own device: Apple Vision on iPhone, iPad and Mac, and Google ML Kit on Android. Those images are not uploaded anywhere to be read. The optional automatic reading uses Cloud AI instead. Korean, English, Japanese and Chinese text are recognized.

Mobile app (iOS and Android) ​

Text recognition is on by default.

  1. Open a saved post with images.
  2. Tap the Aa button on an image. The app reads the text in that image.
  3. Tap Add to Notes to save it. On a post with several images, Add All to Notes saves the text of every image at once. Copy text copies it instead.

The switches are in Settings → Image Text Recognition:

SettingWhat it does
Text recognitionTurns image text recognition on or off
Auto-detect textShows the Aa badge when text is found in an image
Live Text (iOS 16+)Long-press an image to select and copy its text

Desktop app (Mac) ​

  1. Open a saved post and click Recognize text on an image.
  2. Click Save to notes, or Copy text.

The switches are in Settings → Image Text:

SettingWhat it does
Recognize text in imagesUses Apple Vision on this Mac
Include image text automaticallyReads missing image text before AI and place extraction requests, so they can use what the images say

Image text recognition in the desktop app needs macOS.

Automatic (Cloud AI) ​

Turn on Read image text automatically in the Image Text settings of the mobile or desktop app, and the text in the images of every post you save from then on is read for you and added to its notes, even when none of your devices is open. Up to 20 images per post are read. The setting is in desktop 0.10.2 and mobile 2.6.7 or later.

It costs 0.1 Cloud credit per post that had text; a post whose images have no text is free. This runs on Cloud AI, so the images are sent to Cloudflare Workers AI to be read. When you run out of Cloud credits, new posts are not read until your credits reset: the mobile app sends you one notification that month, and the setting shows it is paused and when it resumes. It follows your Cloud AI setting: while Cloud AI is off, nothing is read. Posts you saved before turning it on are not read automatically; use the apps or social-archiver image-text for those.

Where the text goes ​

Saved text becomes a note on the post titled 📷 Extracted Text (Image N), where N is the image's position in the post. It syncs to your account like your other notes, so every app shows it. Reading the same image again replaces its note instead of adding another.

  • Exported Markdown (social-archiver export, and Markdown export in the mobile app) puts it under Extracted Text (OCR), next to the caption.
  • AI comments and place extraction include it, so they can use what the images say.

From the CLI (for AI agents) ​

On a Mac with the desktop app installed, the CLI can read image text in bulk, then search it or export it:

bash
# Read the text in every image of the posts with a tag (images already read are skipped)
social-archiver image-text --tag study

# One or more posts by id; --force reads their images again
social-archiver image-text <archiveId> <archiveId> --force

# Search your notes, image text included, on the server
social-archiver search --q "sleep" --scope notes

# Or export once and let an agent read the files
social-archiver export --dir ./study --tag study --limit 500
grep -ril "sleep" ./study

image-text reads the copy of each image that Social Archiver saved, when there is one, so it keeps working after the platform's original image link expires. --limit <n> stops after n posts. The JSON result lists every post as saved, skipped (no-image, already-read, no-text) or failed. When one image of a carousel cannot be read, the others are still saved and the failed ones are listed in failedImages.

Versions

image-text and search --scope need CLI 0.2.2 or later (check with social-archiver --version), and image-text runs Apple Vision through desktop app 0.10.2 or later. If it answers SERVICE_NOT_READY, install or update the desktop app and try again. The sa tool bundled with desktop 0.10.2 and earlier is an older CLI without these commands: install the CLI on its own.

For video, screen-text reads the text shown on screen and transcribe turns speech into a transcript. See Command Line (CLI).

Released under the MIT License.