Translate Markdown — AI Translation That Keeps Formatting
Translate Markdown into 50+ languages while preserving every heading, list, link, code block, and table exactly as written.
Markdown-aware translation
Most translators destroy Markdown: code blocks get “translated,” link syntax gets broken, headings lose their pound signs. Our pipeline sends the document to a Gemini model with a hardened 10-rule prompt that explicitly protects every Markdown construct — fenced code blocks, inline code, links, images, math, frontmatter, tables — and then runs a structural validation pass over the output to flag any divergence (lost URL, missing code fence, heading-count drift) as a visible warning.
It uses modern LLMs for the actual translation, which means context-aware results: idioms become idioms, technical terms stay technical, and the tone matches the original. Code, frontmatter values you didn't whitelist, URLs, and inline HTML pass through unchanged.
What we do
25 supported languages including French, Spanish, German, Mandarin, Japanese, Arabic, Hindi, Russian, Korean
Code blocks, math (`$...$`, `$$...$$`), URLs, and inline HTML preserved byte-for-byte
Frontmatter YAML keys preserved; only `title`, `description`, `summary`, `subtitle` values get translated
Structural validation: every output is checked for code-fence count, URL set, and heading count mismatches against the source
Target-language preference remembered between sessions
Use it to localize documentation, translate AI-generated content, ship multi-language READMEs, or prepare technical content for non-English audiences.
How it works
Paste your Markdown into the editor
Pick a target language from the dropdown (your last choice is remembered)
We send it to Gemini Flash Lite with a 10-rule preservation prompt
A structural validation pass checks code-fence, URL, and heading counts
Warnings (if any) appear in a yellow banner above the output
Use cases
Localize technical documentation for a global audience
Translate blog posts while keeping their Markdown formatting
Localize a software product’s README into 10+ languages
Translate AI-generated text into the local language
Ship multi-language release notes from a single source
Frequently asked questions
Will my code blocks be translated?
No. The preservation prompt explicitly forbids translating content inside fenced code blocks or inline code, and a post-translation validation pass flags any code-fence count mismatch as a visible warning.
How is quality compared to DeepL or Google Translate?
Comparable on prose. Superior on structured Markdown content because DeepL/Google operate on text without Markdown awareness — they routinely break link syntax, translate inside code fences, and lose backticks. We protect every Markdown construct explicitly and verify the output structurally.
Are URLs translated?
No. Link targets are kept as-is — and we verify it: every URL in the source must also be present in the output, or a warning is raised.
How big a document can I translate?
It depends on your plan. Free: up to 10 000 characters per request. Starter: 25 000. Pro: 50 000. Business: 100 000. Larger documents are truncated with a visible warning telling you how many characters got dropped — chunking longer inputs into multiple requests is on the roadmap.
Which languages are supported?
25 major languages: English, French, Spanish, German, Portuguese, Italian, Dutch, Polish, Czech, Romanian, Russian, Ukrainian, Mandarin, Japanese, Korean, Hindi, Arabic, Turkish, Vietnamese, Thai, Indonesian, plus the Nordic languages (Swedish, Danish, Norwegian, Finnish).
How is it priced?
1 credit per 10 000 characters of input, minimum 1 credit. A 5 000-char README costs 1 credit; a 35 000-char doc costs 4 credits. The same source text + same target language hits a content cache and is re-translated for FREE — useful when iterating on a doc you keep tweaking.
What if my document is longer than the plan cap?
Documents larger than the cap are truncated with a visible warning telling you how many characters were dropped. Within the cap, documents over ~8 000 characters are automatically chunked at safe boundaries (paragraph breaks, never inside a fenced code block or table) and translated piece-by-piece, then re-assembled — so a 50 000-character Pro request is handled as ~7 Gemini calls under the hood with no quality regression at the joins.
Is there a glossary or bilingual mode?
Not yet. Custom glossary support (forcing specific terms to stay verbatim) and bilingual side-by-side output are on the roadmap.