What Is Amazon Translate? Pricing per Character, Free Tier, Languages, Python Tutorial, Documents and Custom Terminology

Logeshwaran
—

Amazon Translate is AWS's neural machine translation service: send it text, a web page or a document and it returns a fluent translation in any of 75 languages (5,550 language pairs), in real time or in large batch jobs. It costs $15 per million characters for real-time text and batch translation, $30 per million for real-time Word document translation, and $60 per million with Active Custom Translation, which adapts the output to your own example translations. A million characters is about 150,000 to 200,000 words, so a typical 6,500-character article costs about 10 cents to translate. The free tier covers 2 million characters a month for 12 months. Use custom terminology to keep brand and product names consistent, and the formality, profanity and brevity settings to control the tone and length. Below: what Translate is and how it works, every price with worked examples, the free tier, real-time, document and batch translation, a Python tutorial, custom terminology and parallel data, supported languages, translating websites, subtitles and chat, Translate vs Google Translate, DeepL and LLMs, limits and fixes.

The furniture store had started delivering across the border to Quebec, and a third of its local customers preferred Spanish. The website, 4,000 product pages, existed only in English; support emails in French sat unanswered until a staff member with school French had time; and the Italian sofa supplier sent its catalogs in Italian. The owner asked whether hiring translators for everything was the only way. Jake suggested Google Translate in another tab. Ethan said that works for one email, not for 4,000 pages that change every week, and opened Amazon Translate.

⚡ Quick Answer

• What it is: AWS's machine translation API for text, HTML and documents in 75 languages. Explained.

• Price: $15 per million characters (about 10 cents per article); $30 for real-time Word files; $60 with Active Custom Translation. Every rate.

• Free? 2 million characters a month for 12 months. Free tier.

• Keep names right: use custom terminology so product and brand names are never translated wrongly. Terminology.

How it works · Worked costs · Python tutorial · Documents · Languages · Websites · vs Google, DeepL, LLMs · Errors · FAQ.

Building something multilingual on AWS? The cards below cover Comprehend, Polly, Lambda, S3 access and billing alerts, the services you will most often combine with Translate.

🧭 NEW HERE? READ THESE FIRST

These five pages cover the pieces around a translation pipeline on AWS:

📌 Bookmark this; the price examples, the Python code and the terminology setup are the parts you will come back for.

What is Amazon Translate?

Machine translation is software that translates text from one language to another. Older systems translated phrase by phrase and produced stiff, often wrong sentences. Modern neural machine translation uses deep learning models that read a whole sentence, understand the context, and produce natural wording, which is why machine translation became good enough for real business use in the last decade.

Amazon Translate is AWS's managed neural translation service. You call an API with text and a target language and get the translation back in a fraction of a second, or you point a batch job at a folder of files in S3 and get translated copies back. There are no models to host, it scales from one sentence to millions of documents, and it is billed per character.

What people use it for:

  • Websites and product catalogs: translated pages for international customers, kept up to date as the source changes.
  • Customer support: agents read and answer messages in any language, in chat, email and contact centers.
  • User-generated content: reviews, comments and listings translated so everyone can read them.
  • Internal documents: policies, manuals and training material for global teams.
  • Media: subtitles for videos, combined with speech-to-text, and voice-overs with Polly.
  • Analytics: translating foreign-language text into English before sentiment or entity analysis with Comprehend.

Jake: "So it's Google Translate, but for the whole website at once."

Ethan: "And it remembers that 'Aalborg' is a sofa, not a city to translate, and that we call customers 'vous', not 'tu'."

How Amazon Translate works

  1. Choose the mode: real-time text (up to 10,000 bytes per request), real-time document (one TXT, HTML or DOCX file up to 100 KB), or batch (up to a million documents, 5 GB, in S3).
  2. Set the languages: a source language code such as en, or auto to detect it, and one target language (up to 10 targets per batch job).
  3. Add customizations if needed: a custom terminology for names that must stay fixed, parallel data for style (batch only), and settings for formality, profanity masking or brevity.
  4. Translate reads whole sentences with its neural models and produces the translation, preserving HTML and document formatting.
  5. You receive the result: text in the API response, or translated files written to your S3 output folder, with the same names and structure.

HTML markup is kept intact: tags, attributes and links are left alone while the visible text is translated, which is what makes whole web pages straightforward. Word, PowerPoint and Excel files keep their layout in batch jobs.

 Real-time textReal-time documentBatch jobBatch with parallel data (ACT)
APITranslateTextTranslateDocumentStartTextTranslationJobStartTextTranslationJob + ParallelDataNames
InputUp to 10,000 bytes of textOne TXT, HTML or DOCX up to 100 KBS3 folder: TXT, HTML, DOCX, PPTX, XLSX, XLIFFSame as batch
SpeedUnder a secondSecondsMinutes to hoursMinutes to hours
Price per million characters$15$15 (TXT, HTML), $30 (DOCX)$15$60
Terminology, formality, profanityYesTerminology and settingsYesYes
BrevityYesNoNoNo
Best forChat, apps, short contentA page or file on demandWebsites, catalogs, archivesBrand-voice and domain copy

Amazon Translate pricing

What you usePrice per million charactersFree tier
Standard real-time text translation$15.002 million characters a month for 12 months (shared with batch)
Batch translation (TXT, HTML, DOCX, PPTX, XLSX, XLIFF)$15.00Included in the 2 million
Real-time document translation: TXT and HTML$15.00None
Real-time document translation: DOCX$30.00None
Active Custom Translation (batch with parallel data)$60.00500,000 characters a month for 2 months
Parallel data storage200 GB free per account, then $0.023 per GB-month
  • Characters include spaces and punctuation, counted in the source text. A 1,000-word English page is roughly 6,000 characters.
  • One target language at a time: translating a page into three languages costs three times its characters.
  • Same language in and out is free; automatic language detection (auto) may add a small Comprehend language detection charge.
  • Custom terminology, formality, profanity masking and brevity cost nothing extra.
  • Conversions: $15 per million is $0.000015 per character, $0.015 per 1,000 characters, or about $0.10 for a typical news article.

Is Amazon Translate free? The free tier

For a year, for moderate use. The free tier covers 2 million characters a month for 12 months of standard text and batch translation, roughly 300 articles of 6,500 characters, or a small website translated into one language every month. Unused characters do not roll over, real-time document translation has no free tier, and Active Custom Translation has its own small allowance (500,000 characters a month for two months). Accounts created from July 15, 2025 can also spend Free Tier credits on Translate. The console's real-time translation page uses the same billing, so testing a few paragraphs costs nothing.

Because the allowance counts characters across every target language, translating one site into four languages uses it four times as fast. A small business that translates a few hundred support messages and a handful of new product pages each month can often stay inside it for the whole first year; a full website launch in several languages will go past it in the first month, at $15 for each million characters beyond.

Worked examples: what Translate really costs

Example 1: the store's catalog. 4,000 product pages averaging 1,200 characters (title, description, dimensions, care instructions), into Spanish and Canadian French: 4,000 x 1,200 x 2 = 9.6 million characters x $15 = $144 one time, minus whatever the free tier covers that month. Weekly updates to about 200 pages then cost about $7 a month.

Example 2: support chat in both directions. 3,000 customer messages a month of about 300 characters, translated into English for agents, and 3,000 replies of similar length translated back: 1.8 million characters, $27 a month, or free inside the 2 million allowance during the first year.

Ethan: "A hundred and forty-four dollars for the whole catalog in two languages."

Jake: "And the support chat?"

Ethan: "Free for the first year, then about the price of a pizza a month."

Example 3: the supplier's catalog. A 200-page Italian Word catalog of about 400,000 characters: $6 as a batch job ($15 per million) or $12 with real-time document translation ($30 per million), with the layout kept either way.

Example 4: brand-voice translation. The same 4.8 million characters of catalog per language with Active Custom Translation, using 2,000 example translations from the store's best French copy: 4.8 x $60 = $288 per language, four times the standard price, for wording that sounds like the store rather than a generic translation.

Example 5: video subtitles. 20 assembly videos with about 2,500 characters of subtitles each, into four languages: 200,000 characters, $3.

Example 6: an app with in-chat translation. Users who send and receive 30,000 characters a month each cost about $0.45 per user per month; 10,000 active users, $4,500 a month. Caching translations of repeated phrases (menus, notifications, canned replies) brings that down.

Quick estimates for common content, at $15 per million characters per target language:

ContentApproximate charactersOne languageFive languages
An email3,000$0.05$0.23
A 1,000-word article6,500$0.10$0.49
A 50-page manual150,000$2.25$11.25
A 500-page website2,000,000$30$150
A 90,000-word novel540,000$8.10$40.50

Compare that with professional human translation, typically charged per word at rates that put a 1,000-word article in the tens of dollars per language: machine translation is cheap enough that the review step, not the translation, becomes the real cost.

Example 7: the expensive mistake. A website that calls Translate on every page view, instead of translating each page once and caching it, pays again for the same text thousands of times: 100,000 views of 6,000-character pages is 600 million characters, $9,000 a month, for content that costs $15 to translate once. Translate at publish time, store the result, and set a billing alert.

Try Amazon Translate in the console

  1. Sign in to the AWS console, open Amazon Translate and choose Real-time translation.
  2. On the Text tab, pick the source language (or Auto) and the target language.
  3. Type or paste text, and the translation appears on the right.
  4. Open Additional settings to try a custom terminology, Formality, Profanity masking and Brevity.
  5. On the Documents tab, upload a TXT, HTML or DOCX file and download the translated copy.
  6. For many files, choose Batch translation, point it at an S3 input folder and an output folder, and choose up to 10 target languages.

The console is also where you manage Custom terminology and Parallel data (import, view, update and delete them) and check the status and output of batch jobs. It is the fastest way to show a colleague what machine translation does with your own content before anyone writes code: paste a product description, switch formality on and off, and compare.

Amazon Translate tutorial with Python

Install boto3 and give your user or role translate:TranslateText (the AWS managed TranslateReadOnly policy covers the real-time operations for experiments). Then:

import boto3

translate = boto3.client("translate", region_name="us-east-1")

resp = translate.translate_text(
    Text="Your sofa will be delivered on Friday between 9 and 12.",
    SourceLanguageCode="en",
    TargetLanguageCode="fr-CA",
    Settings={"Formality": "FORMAL"},          # vous, not tu
)
print(resp["TranslatedText"])

# Detect the source language automatically (may add a small detection charge)
auto = translate.translate_text(Text="¿Tienen el sofΓ‘ en gris?", SourceLanguageCode="auto",
                                TargetLanguageCode="en")
print(auto["SourceLanguageCode"], "->", auto["TranslatedText"])

HTML pages go through translate_document, which keeps the markup:

with open("aalborg-3-seat.html", "rb") as f:
    page = f.read()

out = translate.translate_document(
    Document={"Content": page, "ContentType": "text/html"},
    SourceLanguageCode="en", TargetLanguageCode="es",
    TerminologyNames=["store-names"],           # keep product names untouched
)
with open("aalborg-3-seat.es.html", "wb") as f:
    f.write(out["TranslatedDocument"]["Content"])

From the command line:

aws translate translate-text --region us-east-1 \
  --source-language-code en --target-language-code it \
  --text "Please confirm the delivery date for order 10442." --settings Formality=FORMAL

A real-time request can carry up to 10,000 bytes of text. For longer text, split it at paragraph or sentence boundaries, translate the pieces, and join them; or use a batch job, which handles whole files. Sentences cut in the middle translate badly, so always split on sentence ends:

import re

def translate_long(text, target, source="en", limit=9000):
    sentences = re.split(r"(?<=[.!?])\s+", text)
    chunks, current = [], ""
    for s in sentences:
        if len((current + " " + s).encode("utf-8")) > limit:
            chunks.append(current)
            current = s
        else:
            current = (current + " " + s).strip()
    chunks.append(current)
    out = [translate.translate_text(Text=c, SourceLanguageCode=source, TargetLanguageCode=target,
                                    TerminologyNames=["store-names"])["TranslatedText"] for c in chunks if c]
    return " ".join(out)

The limit is measured in bytes, not characters, which matters for non-Latin scripts: a Hindi or Chinese passage hits 10,000 bytes at roughly a third of the characters of English text. The response also includes AppliedTerminologies and AppliedSettings, which show whether your terminology and formality were actually used, a quick way to catch a terminology that silently did not match.

Translating documents and batch jobs

  • Real-time document translation (TranslateDocument) takes one TXT, HTML or DOCX file of up to 100 KB and returns the translated file immediately, translating from English or into English. TXT and HTML cost $15 per million characters, DOCX $30.
  • Batch translation (StartTextTranslationJob) processes a whole S3 folder: plain text, HTML, Word, PowerPoint, Excel and XLIFF files, up to 20 MB each (1 MB of translatable text per document), up to a million documents and 5 GB per job, into up to 10 target languages at once, at $15 per million characters.
  • Output lands in your S3 output location in folders per target language, with the original file names and formatting.
  • Limits: up to 10 batch jobs run at once, and up to 1,000 can wait in the queue.
  • PDFs are not a supported input; extract the text first with Textract (or export the PDF to Word), translate that, and rebuild the document.
job = translate.start_text_translation_job(
    JobName="supplier-catalogs-2026-10",
    InputDataConfig={"S3Uri": "s3://store-translation/in/catalogs/",
                     "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
    OutputDataConfig={"S3Uri": "s3://store-translation/out/"},
    DataAccessRoleArn="arn:aws:iam::111122223333:role/TranslateBatchAccess",
    SourceLanguageCode="it",
    TargetLanguageCodes=["en", "es", "fr-CA"],
)
print(job["JobId"], job["JobStatus"])

The data access role must trust translate.amazonaws.com and allow reading the input prefix and writing the output prefix; the caller also needs iam:PassRole on it. Each job takes one content type, so put Word files and HTML files in separate input folders.

Custom terminology: keep names and terms consistent

Machine translation sometimes translates words that should never be translated (brand names, product lines, people's names) or picks a different word for a technical term each time. A custom terminology fixes that: a CSV, TSV or TMX file mapping each source term to the exact translation you want in each target language, applied to any real-time or batch request at no extra cost.

en,fr,es
Aalborg,Aalborg,Aalborg
loveseat,causeuse,sofΓ‘ de dos plazas
recliner,fauteuil inclinable,sillΓ³n reclinable
white-glove delivery,livraison avec installation,entrega con instalaciΓ³n
aws translate import-terminology --name store-names --merge-strategy OVERWRITE \
  --terminology-data File=fileb://store-names.csv,Format=CSV

You can keep up to 100 terminology files per account and Region, each up to 20 MB with up to 30 target languages, and apply one per request. Terms are matched as whole words, case-sensitively for most languages, so include the capitalized and plural forms you use. Keep the list short and specific: a terminology is for terms that must be fixed, not a dictionary for everything.

Active Custom Translation with parallel data

Terminology fixes individual words; parallel data changes the style. It is a file of example sentences in the source language with your preferred translations, such as your best human-translated marketing copy. When you add it to a batch job, Translate adapts its output to the tone, register and word choices in your examples, without training a model. That is Active Custom Translation, priced at $60 per million characters and available in US East (N. Virginia), US West (Oregon) and Europe (Ireland).

  • Format: CSV, TSV or TMX, one example per row, up to 5 GB per file and 1,000 bytes per segment; each parallel data resource has one source language.
  • Quality over quantity: a few thousand clean, consistent examples in your domain work better than a large, mixed set.
  • Update it as your style changes; there is nothing to retrain.
  • When it is worth four times the price: customer-facing marketing and product copy in a strong brand voice, or specialist domains (legal, medical, financial) where general wording is wrong. For support chat and internal documents, standard translation with a terminology is usually enough.

Terminology or parallel data? Use a terminology when specific words must always come out the same way: it is free, works in real time and in batch, and its effect is predictable. Use parallel data when the problem is the overall voice (too formal, too literal, the wrong register for your industry) and you translate in batches. They combine well: the terminology pins the names, the parallel data shapes the sentences around them. If you are unsure, start with a terminology and formality settings, review a sample, and only pay for Active Custom Translation if reviewers still rewrite most sentences for style.

Formality, profanity masking and brevity

  • Formality (real-time and batch) makes translations formal or informal: "Sind Sie sicher?" versus "Bist du sicher?" in German. It works for translations into Dutch, French, Canadian French, German, Hindi, Italian, Japanese, Korean, European Portuguese, Spanish and Mexican Spanish; for other languages it is ignored.
  • Profanity masking (real-time and batch) replaces profane words in the output with the string ?$#@$. It works for every target language except Bengali, Hindi, Malayalam, Punjabi, Sinhala and Vietnamese, and matches words literally, so occasionally it masks a harmless phrase.
  • Brevity (real-time text only) shortens translations, useful for subtitles, headlines, buttons and form labels where space is tight. It works for translations into French, German, Italian, Brazilian Portuguese and Spanish, and from those languages into English; for other pairs the request proceeds without it.

The store set formal French for all customer communication in Quebec, informal Spanish for the website (which matched how the local team wrote), and brevity on for the product page buttons, where "Add to cart" in French had been overflowing its box.

Amazon Translate supported languages

Translate supports 75 languages, and you can translate between any two of them (5,550 pairs). Besides the major European and Asian languages, the list includes Hindi, Bengali, Gujarati, Kannada, Malayalam, Marathi, Punjabi, Tamil, Telugu and Urdu; Arabic, Farsi, Dari and Pashto; Swahili, Hausa, Somali, Amharic and Afrikaans; Filipino, Indonesian, Malay, Thai and Vietnamese; Ukrainian, Georgian, Armenian, Kazakh, Uzbek and Mongolian; Irish, Welsh, Maltese and Icelandic; and Haitian Creole. Regional variants include Chinese (Simplified and Traditional), French (France and Canada), Portuguese (Brazil and Portugal) and Spanish (Spain and Mexico).

Quality is highest for high-volume pairs such as English with Spanish, French, German, Portuguese, Italian, Chinese and Japanese, and lower for languages with less training data. For anything published or legal in a lower-resource language, have a native speaker review a sample.

Translating a website, subtitles and support chat

A multilingual website works best when you translate at publish time, not on every view:

  1. When a page is published or edited, your CMS or a Lambda function sends its HTML to translate_document (or a batch job for bulk changes) for each target language, with your terminology.
  2. Store each translated page under a language path such as /es/ or /fr/, with hreflang tags so search engines show the right language to each visitor.
  3. Serve the pages from a cache such as CloudFront, so each translation is paid for once.
  4. Let people improve it: a "suggest a better translation" link for staff and fluent customers, with corrections added to your terminology or parallel data.
  5. Keep humans on the important pages: checkout, legal terms and warranty text deserve a professional review.

Video subtitles: transcribe the audio with a speech-to-text service (see our guide to MAI-Transcribe-2, or Amazon Transcribe on AWS), translate the subtitle lines with brevity turned on, and keep the timestamps. For a voice-over, send the translated script to Amazon Polly in the target language.

Support chat and contact centers: translate each incoming message into the agent's language and each reply back, in real time. Amazon Connect chat flows can call Translate through a Lambda function, so agents handle conversations in languages they do not speak.

How good is Amazon Translate? Quality, review and post-editing

For everyday business text in major languages, the output is fluent and usually accurate: product descriptions, support replies and internal documents read naturally, with occasional awkward phrasing. Quality drops with very short fragments (a single word has no context), slang and idioms, wordplay and marketing taglines, highly specialized jargon without a terminology, and lower-resource languages. Names, numbers and units are generally kept correctly, but always check prices and measurements.

How to judge it for your content:

  • Build a test set of 100 to 200 real sentences from your own content, covering the tricky cases (product names, measurements, promotions, legal lines).
  • Ask native speakers to rate them, not a back-translation into English, which hides many errors and invents others.
  • Compare settings and engines on the same set: with and without terminology, formal and informal, Translate against any alternative you are considering.
  • Track corrections after launch, and turn repeated fixes into terminology entries or parallel data.

Post-editing is the industry's standard way to combine speed and quality: machine translation produces the draft and a professional translator corrects it, usually much faster and cheaper than translating from scratch. The store used that for its checkout, returns policy and warranty pages, and pure machine translation, with a native speaker spot-checking a sample each week, for everything else.

Translated websites and search engines

A translated site can bring in customers who search in their own language, but only if search engines can find and understand each version:

  • One URL per language, such as /es/sofas/aalborg/, rather than switching language with cookies or scripts on the same address, so each version can be indexed.
  • hreflang annotations on every version, pointing to all the others (including x-default), so searchers are sent to the right one.
  • Translate the metadata too: titles, meta descriptions, image alt text and, where your platform allows, the URL slugs.
  • Review what matters: search engines accept automated translation when the result is genuinely useful to readers, but thin or garbled machine output published at scale serves nobody. Have a fluent speaker check the most visited pages and any page that ranks.
  • Research keywords per market: people in Mexico and Spain search for furniture with different words, and a literal translation of your English keywords often misses how locals actually search.

The store's Spanish pages started appearing for searches such as "sofΓ‘ esquinero gris" within a few weeks, which was the point of the whole exercise: the translation cost $144; the new customers paid for it in the first weekend.

The API in one list: TranslateText (real-time text), TranslateDocument (real-time file), StartTextTranslationJob, DescribeTextTranslationJob, ListTextTranslationJobs and StopTextTranslationJob (batch), ImportTerminology, GetTerminology, ListTerminologies and DeleteTerminology (terminology), CreateParallelData, UpdateParallelData, GetParallelData and ListParallelData (parallel data), and ListLanguages, which returns the supported language codes and names so your app never hard-codes an out-of-date list.

Amazon Translate integrations and other SDKs

Translate is an ordinary AWS API, so it plugs into most of AWS and any language with an AWS SDK:

  • S3 and Lambda: drop a file in an input folder and a function translates it, or run a nightly batch job for everything that changed.
  • Transcribe and Polly: speech in one language, text in another, speech out again, for subtitles, dubbing and voice assistants.
  • Comprehend: translate reviews and messages into one language, then analyze sentiment and topics across all markets together.
  • Amazon Connect: real-time chat translation for contact center agents.
  • Content tools: many CMS, localization and translation management platforms offer Amazon Translate as a machine translation engine; XLIFF support in batch jobs fits the files those tools exchange.

JavaScript (Node.js, AWS SDK v3):

import { TranslateClient, TranslateTextCommand } from "@aws-sdk/client-translate";

const client = new TranslateClient({ region: "us-east-1" });
const out = await client.send(new TranslateTextCommand({
  Text: "Free delivery on orders over $500.",
  SourceLanguageCode: "en",
  TargetLanguageCode: "es-MX",
}));
console.log(out.TranslatedText);

Java (AWS SDK for Java 2.x):

TranslateClient client = TranslateClient.builder().region(Region.US_EAST_1).build();
TranslateTextResponse out = client.translateText(TranslateTextRequest.builder()
        .text("Your return has been approved.")
        .sourceLanguageCode("en")
        .targetLanguageCode("fr-CA")
        .build());
System.out.println(out.translatedText());

The .NET, Go, PHP and Ruby SDKs follow the same pattern: a client, a TranslateText request with the text and the two language codes, and the translated text in the response.

Amazon Translate vs Google Translate, DeepL, Azure and LLMs

  • Translate vs Google Translate: the free Google Translate website and app are for people translating things by hand. The comparable business product is Google Cloud Translation, an API billed per million characters like Amazon Translate, with its own free allowance. Quality is close for major languages; choose the API in the cloud where your apps and data already are, after testing your own content in both.
  • Translate vs DeepL: DeepL's API is known for particularly natural output in European languages and offers a free API plan with a monthly character limit and paid plans per character. Amazon Translate covers more languages (75), is billed on your AWS account with IAM and VPC controls, and adds batch jobs over S3 with Office formats and parallel data. Many teams compare both on a sample of their own text; the winner differs by language pair.
  • Translate vs Azure AI Translator: similar features (custom models, document translation, glossaries) and per-character pricing; the decision usually follows the rest of your stack.
  • Translate vs a large language model on Bedrock: a model such as Amazon Nova, given the right prompt, can translate with a specific tone, explain idioms, keep formatting rules and adapt a marketing message rather than translate it literally. It is slower, usually more expensive per character at volume, and can drift from the source or invent details. Amazon Translate is fast, cheap and consistent, with terminology control. A common split: Translate for volume (catalogs, support, user content), a language model on Bedrock for high-value creative copy, and a human reviewer for anything legal.
  • Translate vs human translators: machine translation is a first draft for anything published under your name. Professional translators, often post-editing machine output, are still the right choice for contracts, regulated content, marketing campaigns and books.

Kindle Translate is a different product. If you searched whether Amazon translates books: Kindle Translate is an AI translation feature for Kindle Direct Publishing authors, launched in beta in November 2025 for selected authors, starting with English and Spanish in both directions and German into English. It publishes translated e-books in the Kindle store; it is not the AWS Translate API. And if you only want the Amazon shopping website in English, change the language in the site's language and region settings (the flag or globe next to the search bar); no translation service is involved.

Benefits and features at a glance

  • 75 languages, any pair, with regional variants for Chinese, French, Portuguese and Spanish.
  • Three ways to translate: real-time text, real-time documents, and batch jobs over S3 with Office formats.
  • Formatting preserved for HTML, Word, PowerPoint, Excel and XLIFF.
  • Control over output: custom terminology, parallel data, formality, profanity masking and brevity.
  • Automatic language detection when you do not know the source language.
  • Pay per character, with no minimums, plus a generous first-year free tier.
  • AWS security: IAM permissions, encryption with KMS for batch output, VPC interface endpoints and CloudTrail logging.

Does Amazon Translate use AI? Yes. It is a neural machine translation service built on deep learning models trained by AWS, which is why it handles whole sentences and context rather than word-by-word substitution.

Security and data privacy

  • Encryption: requests use TLS; batch jobs can encrypt output with your KMS key, and input stays in your own S3 bucket.
  • Private access: VPC interface endpoints let applications in private subnets call Translate without internet access.
  • Data use: Translate may store text it processes to improve its models. You can opt out with an AWS Organizations AI services opt-out policy, or ask AWS Support to delete stored data, before you send confidential text.
  • Permissions: give applications only translate:TranslateText or translate:TranslateDocument, and batch callers the Start action plus iam:PassRole on the job role.
  • Logging: CloudTrail records Translate API calls (who translated what, when), and batch jobs report details per file in S3.

Translated text is a copy of the original's information, so treat it with the same care: if the source is confidential, the translations stored in your buckets and caches are too, and the same retention rules should apply to both.

Limits and quotas

  • Real-time text: up to 10,000 bytes of UTF-8 text per request.
  • Real-time documents: TXT, HTML and DOCX, up to 100 KB and 100,000 characters, to or from English.
  • Batch jobs: up to 20 MB per document with 1 MB of translatable text, 1 million documents and 5 GB per job, up to 10 target languages, 10 concurrent jobs and 1,000 queued.
  • Custom terminology: up to 100 files per account and Region, 20 MB each, 30 target languages per file, 200 bytes per term, one terminology per request.
  • Parallel data: up to 1,000 resources per account and Region, 5 GB per file, 1,000 bytes per segment.
  • Throttling: Translate scales with traffic; sustained throttling is resolved through AWS Support.

Common Amazon Translate errors and fixes

  • TextSizeLimitExceededException: more than 10,000 bytes in one TranslateText call. Remember that bytes are not characters: accented and non-Latin characters take two to four bytes each. Split at sentence boundaries.
  • UnsupportedLanguagePairException: a language code is wrong (for example pt-BR, which is simply pt in Translate) or the feature does not support the pair; check the code list.
  • DetectedLanguageLowConfidenceException: with auto, the text was too short or mixed to identify its language. Pass the source language explicitly.
  • ResourceNotFoundException for a terminology: the name is misspelled or the terminology is in another Region.
  • Batch job FAILED or COMPLETED_WITH_ERROR: check the job's output details file in S3; usual causes are files of the wrong content type in the input folder, encrypted objects the role cannot decrypt, or a role that cannot read the input or write the output.
  • Product names translated anyway: the terminology term does not match the exact casing or form in the text; add the variants.
  • Translations sound stiff or too literal: add parallel data with your preferred style for batch work, use formality settings, or send high-value copy to a person or a language model for polishing.
  • Unexpected bill: the same text translated repeatedly, usually on each page view or each retry; cache translations and check Cost Explorer by usage type.

Best practices and ways to cut the bill

  • Translate once, store the result, and only retranslate what changed.
  • Use a terminology from day one for brand, product and people's names.
  • Translate whole sentences and paragraphs, never fragments split mid-sentence.
  • Pick the cheapest mode that works: batch at $15 per million for Word files instead of real-time DOCX at $30.
  • Set the source language when you know it, to skip detection costs and errors.
  • Review a sample in each language with a fluent speaker, and feed corrections back into terminology or parallel data.
  • Keep humans on legal, safety and regulated text.
  • Write source text that translates well: short sentences, no idioms in instructions, units written out, and consistent product names.
  • Keep translatable text out of images, so it can be translated at all.

The biggest savings rarely come from the per-character price, which is already low; they come from not translating the same text twice, not translating text nobody reads in that language, and not paying people to fix errors that a terminology entry would have prevented.

Frequently asked questions

What is Amazon Translate?

An AWS neural machine translation service that translates text, web pages and documents between 75 languages, in real time or in batch jobs over files in S3, billed per character.

How much does Amazon Translate cost?

$15 per million characters for real-time text and batch translation, $30 per million for real-time Word document translation, and $60 per million for Active Custom Translation with parallel data. A typical 6,500-character article costs about 10 cents.

Is Amazon Translate free?

For the first 12 months, up to 2 million characters a month of standard text and batch translation. After that, or above that amount, it is $15 per million characters. Real-time document translation has no free tier.

How many languages does Amazon Translate support?

75 languages, including regional variants of Chinese, French, Portuguese and Spanish, and you can translate between any two of them, for 5,550 language pairs.

Does Amazon Translate support Hindi and other Indian languages?

Yes. It supports Hindi, Bengali, Gujarati, Kannada, Malayalam, Marathi, Punjabi, Tamil, Telugu and Urdu. Formality works for Hindi; profanity masking does not cover Hindi, Bengali, Malayalam or Punjabi.

Can Amazon Translate translate documents?

Yes. Real-time document translation handles TXT, HTML and Word files up to 100 KB; batch jobs handle TXT, HTML, Word, PowerPoint, Excel and XLIFF files in S3, keeping the formatting. PDFs need their text extracted first.

How do I use the Amazon Translate API?

Call TranslateText with the text, a source language code (or auto) and a target language code, using any AWS SDK or the CLI. Use TranslateDocument for single files and StartTextTranslationJob for folders of files in S3.

What is custom terminology in Amazon Translate?

A CSV, TSV or TMX file listing terms and the exact translation you want for each, such as brand names that must stay unchanged. You apply it to any request at no extra cost, up to one terminology per request.

What is Active Custom Translation?

Batch translation that uses your own example translations (parallel data) to match your preferred style and wording, without training a model. It costs $60 per million characters and runs in US East (N. Virginia), US West (Oregon) and Europe (Ireland).

Is Amazon Translate better than Google Translate?

For major languages, quality is close and depends on the language pair and your content. Amazon Translate fits best if you are on AWS and want batch jobs, terminology, parallel data and AWS security; test your own text in both before deciding.

Amazon Translate vs DeepL: which is better?

DeepL is often praised for natural European-language output; Amazon Translate covers more languages and integrates with AWS. Run a side-by-side test on a few hundred of your own sentences in the languages you need.

Should I use Amazon Translate or an LLM on Bedrock for translation?

Amazon Translate for fast, consistent, low-cost translation at volume with terminology control; a language model for creative copy that needs adapting rather than translating, and where you can afford review. Many teams use both.

Does Amazon Translate keep HTML formatting?

Yes. HTML tags and attributes are preserved and only the visible text is translated, through TranslateDocument for single pages or batch jobs for many.

Can Amazon Translate detect the source language?

Yes. Set the source language code to auto and Translate identifies it, which may add a small language detection charge. For very short or mixed-language text, pass the source language explicitly.

Does Amazon translate books?

Not through the Translate API as a publishing service, but Kindle Translate, a separate Kindle Direct Publishing feature launched in beta in November 2025, translates authors' e-books, starting with English and Spanish both ways and German into English.

Is there an Amazon Translate app?

No consumer app. Amazon Translate is an API and console for developers and businesses; for personal phone translation, use a translation app. Apps you build can call Translate through the AWS SDKs.

What is brevity in Amazon Translate?

A real-time text setting that shortens translations, for subtitles, headlines, buttons and form fields with limited space. It works for translations into French, German, Italian, Brazilian Portuguese and Spanish, and from those into English.

Is Amazon Translate accurate?

For everyday text in major languages it is fluent and usually accurate, with weaker results on slang, idioms, very short fragments and specialist jargon. Test it on your own content with native speakers, and use terminology and human post-editing where accuracy matters most.

What is the character limit for Amazon Translate?

10,000 bytes of text per real-time TranslateText request, 100 KB per real-time document, and up to 1 MB of translatable text per document (20 MB file size) in batch jobs of up to 5 GB.

Can Amazon Translate translate Excel and PowerPoint files?

Yes, in batch jobs: put XLSX or PPTX files in an S3 input folder, start a translation job with the matching content type, and the translated files keep their layout. Real-time document translation covers TXT, HTML and DOCX.

How do I translate subtitles with Amazon Translate?

Transcribe the audio to a subtitle file with a speech-to-text service, translate each subtitle line with Translate (with brevity on, so lines stay short), and keep the original timestamps. Polly can then voice the translated script if you need dubbing.

For readers preparing for an AWS certification

We have been covering AWS certifications alongside our fixes, so here is a short extra for readers studying for one. If you only came for the fix, you already have it; feel free to skip this part.

Exams that test this topic: AI Practitioner (AIF-C01) • Machine Learning Engineer – Associate (MLA-C02) • Cloud Practitioner.

Here are the exam-style questions this topic tends to raise, with the reasoning you need to answer them:

1. A website must be translated into several languages while keeping brand and product names unchanged. Which feature fits?

Amazon Translate with a custom terminology.

2. Thousands of Word and PowerPoint files in S3 must be translated with formatting kept. Which operation fits?

A batch translation job (StartTextTranslationJob).

3. Translations must match the style of a company's existing human translations without training a model. What fits?

Active Custom Translation with parallel data (batch jobs).

4. A support app must translate chat messages instantly. Which API fits?

TranslateText (real-time translation).

5. German translations must use the polite form of address for all customer emails. Which setting fits?

The formality setting set to FORMAL.

6. Call recordings must become subtitles in another language. Which services chain together?

Amazon Transcribe (speech to text), then Amazon Translate; optionally Amazon Polly for a voice-over.

7. The source language of incoming messages is unknown. How can Translate handle it?

Set the source language code to auto for automatic language detection.

Exam codes and dates change often. Our AWS certification changes page keeps track of what is current.

πŸ“š ALSO READ

Where to go next, from Textract to CloudFront:

📌 Bookmark this; the price examples, the Python code and the terminology setup are the parts you will come back for.

Two weeks later the website had Spanish and French versions of every product page, generated when a page changed and cached for every visitor, with the store's product names untouched thanks to a 60-line terminology. French support emails were translated for the agents and their replies translated back, formal for Quebec. The Italian catalogs arrived in English an hour after the supplier sent them. The first month's Translate bill was $0 under the free tier, and the one-time catalog translation had cost $144. Jake asked whether it could translate the owner's handwriting. "That's a Textract problem," Ethan said, "and honestly, a miracle problem."

📌 If you keep one line from this page

Amazon Translate translates text and documents between 75 languages for $15 per million characters (2 million free a month for a year); translate each page once and cache it, use custom terminology for names, batch jobs for Office files, and a human reviewer for anything legal or published.

Terminology on day one · formality per market · never translate on every page view.

Revision note. Written October 21, 2026. Prices are US East (N. Virginia) list prices on that date. We will update this page when Translate prices or features change.

Related