Skip to main content

Guide

How to Translate Twitter Posts, and Why DMs Are Left Out

To translate Twitter posts, tap the Translate post link that X shows under any post it detects as being in a language other than your display language. It works the same on x.com and in the iOS and Android apps, at no extra cost, and the original text stays visible above the translation. The link is missing when X reads the post as already being in your language, when you have listed that language as one you know, or when the text sits inside an image. X does not translate direct messages at all, so DMs still need Google Translate, your phone's built-in translation, or a browser extension.

Where the Translate post button actually sits

On x.com in a desktop browser, open a post written in a language X detects as different from your display language. Directly under the post text, above the row of reply, repost and like icons, there is a small Translate post link. Click it once and the translated version appears below the original, which stays on screen so you can compare the two lines. The iOS and Android apps behave identically, with the link in the same position under the text. Inside a thread, every post carries its own link, so a long thread means several taps: there is no translate whole thread control. Profile bios have a separate Translate bio link under the bio text. Nothing is stored. Reload the page and the post reverts to its original language, and you tap again.

Why the button disappears

Four things make the link vanish. First, language detection. X guesses the language of each post, and short posts, posts that are mostly hashtags, emojis or links, and code-mixed writing give it very little to work with. Romanized Hindi, Tamil, Bengali or Marathi are frequently read as English, so no link appears even though the post is not in English. Second, your settings. Under Settings and privacy, Accessibility, display and languages, Languages, X keeps a list of languages you have marked as ones you understand, and it will not offer to translate those. Third, your display language. If it is set to English and the post is detected as English, there is nothing to translate. Fourth, X reads text only. Words inside a screenshot, a meme, a video frame or a link preview are invisible to it.

Free tools that cover what X misses

Google Translate is the fallback for almost everything. Copy the post text, paste it at translate.google.com or into the app, and you get a machine translation without needing the button. On Android, the Google Translate app has a Tap to Translate bubble that reads copied text inside any app, including X, which is the closest thing to a free workaround for messages. On iPhone, select text and use the Translate option in the share menu, or open the system Translate app. For words inside screenshots and memes, Google Lens and the camera mode of the Translate app read text directly off the screen. In the browser, right-clicking selected text in Chrome or Edge offers a translate option, and Firefox translates locally on your device. DeepL's free tier is worth trying when Google output reads flat. All of these work, and all of them mean leaving the feed.

The real gap: direct messages

X has never put a translate control in the DM panel. Posts get one, bios get one, messages do not. That gap matters, because DMs are where the actual conversation happens: a recruiter reaching out, a client brief, a supplier negotiating terms. Each one means copying text out of the thread, switching apps, pasting, reading, switching back, then writing a reply in a language you probably read better than you write. Reddit has the same hole and a wider one, with no built-in translation anywhere on the web version. Yaply, a Chrome extension at nine dollars a month, was built around exactly this: it translates posts and DMs inline on X and Reddit, keeps the original next to the translation, and lets you type in your own language and publish in natural English. If you translate the odd post once a week, the free tools above already cover you.

How to do it with Yaply

  1. 1

    Set your display language first

    Open Settings and privacy, then Accessibility, display and languages, then Languages. Your display language decides what X translates into and what it treats as already readable. If it is set to English, English posts will never show a translate link, whatever the writer's intent. Change it once here rather than expecting a per post target language option, because there is none.

  2. 2

    Look directly under the post text

    Open the post itself rather than skimming the timeline, since the link is easy to miss in a dense feed. Translate post sits under the post text and above the reply and like icons. One tap adds the translation below without removing the original. In a thread, repeat for each post, because there is no option to translate the whole thread at once.

  3. 3

    Prune your languages you know list

    Still in the Languages settings, check the list of languages you have told X you understand. Anything on that list will never trigger a translate link, even when you cannot actually read the post. Many people add languages during signup and forget about it. Remove the ones you do not read fluently, reload x.com, then check the post again.

  4. 4

    Handle text locked inside images

    X reads post text only, so captions burned into screenshots, memes, video frames and link previews never get a link. Save the image, then open it in Google Lens or the camera mode of the Google Translate app, both of which read text straight off the screen. On a desktop, uploading the file to translate.google.com under the Images tab does the same job.

  5. 5

    Work around DMs manually

    Open the message, select and copy the text, then paste it into a translator in another tab or app. On Android, the Google Translate app's Tap to Translate bubble reads whatever you copy without leaving X. To reply, write in your language, translate, paste back, then reread the output before sending, because machine translation shifts tone more than it shifts meaning.

Common questions

Does X translate direct messages?

No. The Translate post link appears under posts and under profile bios, but there is no equivalent control anywhere in the DM panel, on web or in the mobile apps. Translating a message means copying the text into Google Translate or your phone's system translator, or installing a browser extension that adds translation inside the thread itself.

Why has the Translate post button disappeared?

Usually one of four reasons: X detected the post as already being in your display language, the post's language is on your languages you know list, the text is too short or too full of hashtags and emojis for detection to work, or the words are inside an image rather than in the post text. A plain client glitch is also possible, so reload the page once before assuming anything.

Does translating a post on X cost anything?

No. X does not charge for the Translate post link and it is not tied to a paid tier. If the link is missing, that is a detection or settings problem, not a paywall. Keep in mind the output is machine generated, so idioms, sarcasm and regional slang often come out flat or plainly wrong.

Why does X not translate Hinglish or romanized Hindi posts?

Language detection works on the script and the words it sees. Hindi, Tamil or Marathi typed in Roman letters looks close enough to English that X often classifies it as English and offers nothing. There is no setting that forces the link to appear. Copy the text into a translator instead, and set the source language manually if the automatic guess is wrong.