Free Markdown Translator

Translate a README or documentation page and get valid Markdown back — code blocks, links and syntax untouched.

Drop your Markdown files here

or click to browse — Select multiple files for batch conversion

mdmarkdown

☁️ Only the wording is sent — your Markdown is opened and rewritten in this browser tab. The text travels to our translation service and back; the file itself is never uploaded, and nothing is stored on either leg. Why FileHugger

🔍 How your file is processed
Runs
On our conversion server (HTTPS upload)
Engine
Our own Markdown scanner separates prose from syntax in your browser; the prose travels to our translation service and back
Max input
300,000 characters of text per file
Your file
The file itself is never uploaded — it is opened, read and rewritten in this browser tab. Only the wording is sent for translation, in batches, and only the translated wording comes back. Neither is stored: the translation service is called without conversation storage, and the finished file is assembled here, not on our servers.
Good to know
Fenced and indented code blocks, YAML front matter, reference-style link definitions, horizontal rules and table divider rows are never sent. Heading hashes, list markers, blockquote arrows and checkbox brackets are removed before sending and restored after. Inline code spans, links and bare web addresses are never sent at all: each is lifted out of the line and replaced by a placeholder, and put back afterwards. A link’s label is sent as its own block and the link rebuilt around the result, so its syntax survives however the sentence was rewritten. If a placeholder does not come back, that line keeps its original wording rather than publishing broken Markdown.

Full security & file-privacy details →

Related converters

How to translate a Markdown file for free

  1. Click Choose files (or drag & drop) and select one or more Markdown files. You can also paste an image from your clipboard.
  2. Pick the language to translate into. If you know which language the file is in, say so rather than leaving it on automatic — detection works from the text itself, and a short document gives it little to go on.
  3. Press Translate. Processing runs with a live progress indicator.
  4. Open the download page to save your files individually or grab everything as a single ZIP.

Why translate Markdown here?

Pasting Markdown into a translator returns something that is no longer Markdown: the hashes and hyphens survive by luck, the code blocks come back translated, and the link targets come back subtly rewritten into dead links. This sends the prose and nothing else. Fenced code, indented code, front matter, link definitions, rules and table separators are never sent at all, table rows are translated cell by cell so the pipes stay put, and inline code, links and web addresses are lifted out before sending so they cannot be rewritten at all.

Advertisement

About the formats

What is a Markdown file?

Markdown is a lightweight way to write formatted text with plain characters: # for headings, ** for bold, - for lists. READMEs, documentation, notes apps and static site generators all speak Markdown. Converting Markdown to HTML produces the exact markup browsers render, ready to paste into a website, email template or CMS.

Prose out, syntax untouched

Markdown is the worst thing to put through a general translator, because it looks like plain text and is not. The hashes and hyphens survive by luck. The code blocks come back translated, which means they no longer run. And the link targets come back subtly rewritten — a translator will happily turn /getting-started into /erste-schritte, which is a dead link on a site where that page does not exist.

So the syntax is separated from the prose before anything is sent, and only the prose goes. Fenced code blocks, indented code, YAML front matter, reference-style link definitions, horizontal rules and table divider rows are never sent at all. Heading hashes, list markers, blockquote arrows and task-list brackets are stripped off the front of a line, the sentence is translated on its own, and the marker is put back.

Tables cell by cell

A table row sent whole comes back with its pipes in new places, because the model treats the pipes as punctuation and moves them. Rows are split on the pipes and each cell is translated as its own piece, so a four-column table comes back as a four-column table.

Keeping out what should not go

Inline code and links do not survive a round trip, and the damage is not the kind you can undo afterwards: backticks come back as quotation marks, so `npm install` stops being code, and a link’s brackets drift apart or vanish outright, which in Chinese left [the guide](/a) with no closing bracket at all. So they are not sent. Each one is lifted out of the line and replaced by a short placeholder, the sentence around it is translated, and the original is put back. A link goes further: its label is sent as a block of its own and the link is rebuilt around the translated label, so the syntax cannot break however the sentence was rearranged.

The placeholder itself had to be chosen rather than guessed. Seven shapes were tried against the live translation service: one came back a character short, one was turned into a different word, one grew an extra symbol, and one made the engine give up and hand the sentence back in English. The shape that survived intact in every language tried — Chinese and Arabic included — is the one in use. And if a placeholder still fails to come back, that line keeps the wording it arrived with, because a line missing its code or its link is worse than a line that was never translated.

What it is good for

READMEs, documentation pages, changelogs, static-site content and notes. Technical prose is the case machine translation handles best: it is literal, it is full-sentence, and it has little idiom to lose. Front matter is deliberately left in English — those are keys your site generator reads, not words your readers see.

Frequently asked questions

Is this Translate Markdown tool free?

Yes — there is no sign-up, payment or watermark. Server-processed tools use the published file-size, duration and fair-use limits so jobs remain available to everyone; those are technical safeguards, not a paid tier.

Can I translate several files at once?

Yes. Drop in as many as you like and each is translated in sequence with its own progress status, then downloaded individually or all together as a ZIP. Long files are sent for translation in batches, so a stack of large documents can reach the fair-use ceiling — if it does, the message says so and waiting a few minutes is all it takes.

Is my file uploaded to a server?

Yes — this tool needs a full office engine, so your file is sent to our server over an encrypted (HTTPS) connection, converted there, and deleted immediately after the PDF is delivered. It is never read for any other purpose, never shared, and never stored. Files up to 50 MB are accepted.

What exactly is left alone?

Fenced and indented code blocks, YAML front matter, reference-style link definitions, horizontal rules and table divider rows are never sent. Heading hashes, list markers, blockquote arrows and checkbox brackets are stripped off before sending and put back after. Inline code spans, links and bare web addresses are lifted out of the line before it is sent and put back afterwards, so they are never exposed to translation at all. A link’s label is sent separately and the link rebuilt around it, which is why its brackets cannot drift. If a placeholder fails to come back, that line keeps its original wording rather than publishing a broken link.

Advertisement