Google Cloud Translation API: Pricing per Character and Rate Limits 2026

Full breakdown of Google Cloud Translation pricing 2026: NMT $20/1M chars, Translation LLM $20/1M input+output, 500K free tier, 6M chars/min limits, and billing traps to avoid.

Also in: RU EN UK
Google Cloud Translation API: Pricing per Character and Rate Limits 2026

Got a $340 Google Cloud bill instead of the $180 I’d budgeted. Spent an hour digging through docs to figure it out: the API was counting every HTML tag as characters, and the translation was running to three languages simultaneously. A 3× multiplier plus 20% markup for tags - that’s how you double a bill without noticing. Here’s the complete breakdown of Google Cloud Translation pricing and rate limits for 2026, so you don’t have to rediscover this the hard way.

How billing works: what counts as a character

Google Cloud Translation charges by character. One character = one Unicode code point, including spaces, newlines, and any markup. The key thing: you’re charged for what you SEND, not just the text that gets translated.

Base pricing for standard NMT (Neural Machine Translation):

Volume per month Price
First 500,000 characters Free
500K to 1B characters $20 per million
Over 1B characters Contact sales

500K free characters is roughly 100 pages of text or 50-70 standard emails. Enough for testing or small projects for a month or two. One catch: the free quota is shared between Basic (v2) and Advanced (v3) - it’s not separate for each.

What actually counts toward your bill

Things that get counted that often catch developers off guard:

  • Spaces and whitespace - every space between words is a character
  • HTML tags - <p>, <br>, <strong>, and everything else counts in full
  • Empty lines - even if there’s nothing in them
  • Content inside no-translate tags - the tags themselves still count even when their content isn’t translated
  • Characters in failed requests - if a request fails at the network level before the server processes it, you’re not charged; if the server accepted the request but translation failed, you are

If your system sends HTML content without pre-processing, your actual volume can run 15-30% higher than clean text. The fix is straightforward: use format=text in your request parameters and strip tags before sending.

Translating to multiple languages multiplies costs

If you translate the same text to three languages in separate requests, you pay three times. Even with multi-target batching, characters are multiplied by the number of target languages. 3,000 characters × 4 languages = 12,000 characters billed.

Pricing tiers: NMT, LLM, and custom models

Standard NMT isn’t the only option. Google significantly expanded its model lineup in 2025-2026, and each model has its own pricing.

Neural Machine Translation (NMT) - the standard

$20/1M characters is the base rate for standard NMT. The fastest option (millisecond latency), right for most use cases: chat, UI strings, content sites. Solid quality across 189+ languages.

Translation LLM - higher quality, different pricing model

Translation LLM uses large language models instead of the standard NMT engine. Pricing here splits into input and output:

Type Price
Translation LLM - input characters $10 per 1M
Translation LLM - output characters $10 per 1M
Adaptive Translation LLM - input $25 per 1M
Adaptive Translation LLM - output $25 per 1M
Custom Translation LLM - input $20 per 1M
Custom Translation LLM - output $20 per 1M

When input and output are roughly the same size (typical for translation), Translation LLM works out to ~$20/1M - same effective price as NMT, but with better quality and higher latency. LLM translation is about 3× slower than NMT, but produces more natural, less “machine-translated” output.

Adaptive Translation LLM ($25+$25 = effectively $50/1M) is for cases where you need to maintain a specific style or brand voice - when standard NMT delivers results that are accurate but tonally wrong.

AutoML - custom models trained on your data

If standard NMT quality isn’t enough (specialized terminology, legal documents, medical content), you can train your own model.

Prediction volume/month Price
First 500K characters Free
500K - 250M characters $80 per 1M
250M - 2.5B characters $60 per 1M
2.5B - 4B characters $40 per 1M
Over 4B characters $30 per 1M

Model training: $45/hour, capped at $300 per job. Typical training time ranges from 2 to 12+ hours depending on dataset size.

AutoML is enterprise territory. $80/1M is 4× the standard NMT rate. But if translations regularly require significant post-editing, a custom model can pay for itself through reduced correction time.

Document translation

Separate pricing for formatted documents (DOCX, PPT, PDF, XLSX):

Model type Price per page
NMT $0.08
Custom model $0.25

One limit to know: the API assumes a maximum of 4,000 characters or 500 words per page on average. Dense documents may be counted as multiple pages. The upside is that document translation preserves formatting, tables, and headers.

Billing traps to avoid

Several things that aren’t obvious from the docs and regularly produce surprise invoices.

HTML tags: the hidden cost

The most common trap. If your system sends HTML content without pre-processing, every tag gets billed.

Example: the text <p class="intro">Hello <strong>world</strong></p> is 17 characters of actual content but 43 characters including tags - a 150% difference.

Fix: pass format=text instead of format=html and strip tags before sending if you don’t need tag-aware translation. If you DO need format=html (to prevent attribute content from being translated and to preserve structure) - that’s fine, just account for it in your cost estimates.

The shared free tier

The 500K free monthly quota is shared across Basic (v2) and Advanced (v3) in the same project. If you’re running both simultaneously, they drain from the same bucket.

Characters ≠ bytes

Google bills by Unicode code points, not bytes. For ASCII text (English, numbers) 1 character = 1 byte. But Cyrillic, CJK (Chinese, Japanese, Korean), and Arabic are multi-byte in UTF-8. The character “ё” is 2 bytes in UTF-8 but 1 code point - billed as 1 character. So non-Latin scripts don’t cost more per character than English.

Estimate your volume before integrating

Before building: measure the average character count per unit of content (email, product description, page), multiply by monthly volume. In Python: len(text) returns the Unicode code point count that exactly matches Google’s billing.

Rate limits and throughput

Google Cloud Translation’s limits have several layers, and different layers can bite you in different scenarios.

Character-based limits

Limit type Value
Characters per minute (NMT, per project) 6,000,000
Characters per minute (per user) 6,000,000
Characters per minute (custom models) 100,000
Max request size (v3 Advanced) 30,000 code points
Max request size (v2 Basic) 100,000 bytes
Recommended request size 5,000 characters

6M chars/min is a high ceiling. Most projects will never hit it. But if you’re translating to 5 languages simultaneously, your effective character throughput is 5× the raw number.

Request-count limits

Request type Limit
v2 requests (Basic) 300,000/min per project
v3 requests (Advanced) 6,000/min per project
Custom models (v3) 600/min
Translation LLM 900/min
getSupportedLanguages (v2+v3 combined) 600/min

The v3 Advanced limit of 6,000 requests/min is 50× lower than v2. If your system makes many small requests - translating one sentence at a time, for instance - v3 can hit this limit sooner than v2. Batch smaller strings into larger requests to stay clear of it.

The hidden “characters per 100 seconds” quota

As one developer reported on the Google Developer Forum:

I’m getting a 403 error saying “Characters per 100 seconds rate limit reached” while only translating 23 characters at a time. The quota dashboard shows 300,000 requests per minute with only 5 currently in use. At this rate my extremely small translation task will take days instead of minutes.

There’s a hidden “characters per 100 seconds” quota that doesn’t show up explicitly in the console but fires independently of the main limits. Fix: implement exponential backoff on 429 and 403 errors, and request a quota increase through Google Cloud Console if you’re legitimately hitting it.

Error codes when you hit limits

  • 403 Daily Limit Exceeded - daily quota exhausted (resets at midnight Pacific Time)
  • 403 User Rate Limit Exceeded - per-minute quota exceeded
  • 400 INVALID_ARGUMENT - request exceeds maximum size

For production systems, exponential backoff is non-negotiable. Recommended strategy: first retry after 1 second, then 2, 4, 8, capped at 32 seconds between attempts.

Basic (v2) vs Advanced (v3): which to use

Both versions are available simultaneously and NMT pricing is identical ($20/1M), but the feature gap is substantial.

Feature Basic (v2) Advanced (v3)
Standard NMT translation + +
NMT price $20/1M $20/1M
Authentication API key or service account IAM only (service account)
Glossaries (fixed terminology) - +
Batch translation - +
Document translation - +
Custom models (AutoML) - +
Translation LLM - +
Adaptive Translation - +
Max characters per request 100K bytes 30K code points
Requests per minute 300,000 6,000

Choose Basic (v2) when: - Simple use case: UI strings, short texts, one-off translations - You need API key authentication (easier to set up) - Low latency is critical - You’re making very high request counts (>6,000/min)

Choose Advanced (v3) when: - You need glossaries for consistent brand or domain terminology - Large-volume batch processing - Document translation with preserved formatting - LLM translation quality matters - Enterprise environment requiring IAM security controls

One important constraint: v2 and v3 client libraries are not compatible. They’re separate integrations. If you’re starting a new project, go straight to v3 Advanced - it’s where Google is putting new features. v2 is effectively frozen.

Real-world cost calculations

Some concrete examples to calibrate your estimates.

Case 1: e-commerce product catalog

Online store, 10,000 products, average description 800 characters, translate to 5 languages.

  • 10,000 × 800 = 8,000,000 characters
  • × 5 languages = 40,000,000 characters
    • 500,000 free = 39,500,000 characters
  • × $20/1M = $790/month

If descriptions contain HTML markup and you don’t strip tags, the real number is closer to $900-950.

Case 2: real-time chat support

SaaS product, 5,000 messages per day, average message 120 characters, one target language.

  • 5,000 × 120 × 30 days = 18,000,000 chars/month
    • 500,000 = 17,500,000
  • × $20/1M = $350/month

Switching to Translation LLM for better quality comes out to roughly the same price (~$20/1M effective) - worth considering if translation accuracy matters for support quality.

Case 3: document translation

Law firm, 200 documents per month, average 15 pages per document.

  • 200 × 15 = 3,000 pages
  • × $0.08/page = $240/month

Compared to text translation (3,000 pages × 4,000 chars = 12M chars = $240) - identical cost, but document translation preserves formatting and saves hours of manual cleanup.

Quick reference: cost per document type

Document type Characters Cost (NMT)
Letter (1 page) ~2,500 $0.05
Contract (5 pages) ~12,500 $0.25
Diploma + transcript ~8,000 $0.16
Technical manual (50 pages) ~125,000 $2.50
Book (300 pages) ~750,000 $5.00

For comparison with DeepL and Azure Translator: Google Cloud NMT ($20/1M) is cheaper than DeepL ($25/1M) but more expensive than Azure ($10/1M). At high volumes that difference gets significant.

Cost optimization tips

A few practical moves that reduce your bill without touching translation quality:

1. Strip HTML before sending. Use format=text or pre-process your content. Saves 15-30% on HTML-heavy pages.

2. Cache translations. If the same string gets translated repeatedly (UI labels, common phrases), a translation cache at the application layer eliminates those costs entirely.

3. Batch short strings into single requests. For v3 with its 6,000 req/min limit, batching several strings into one request keeps you under the limit and reduces HTTP overhead.

4. Use batch translation for large jobs. v3 Advanced only. Async processing for large files without hitting synchronous request rate limits.

5. Set budget alerts in Google Cloud Console. Go to Billing → Budgets & alerts. Set a trigger at 80% of your planned spend - you’ll get an email before costs run away.

If you’re comparing translation API providers, the full DeepL vs Google Cloud vs Azure comparison covers quality benchmarks, SDK experience, and pricing at different volumes side-by-side.

FAQ

How much does Google Cloud Translation API cost in 2026?

Standard NMT: $20 per million characters, with the first 500K per month free. Translation LLM: $10/1M input + $10/1M output (effectively $20/1M when input and output are similar sizes). Document translation: $0.08 per page for NMT, $0.25 per page for custom models.

Is the free tier enough for testing?

500K characters per month is about 100 pages of text or 200 standard emails. More than enough for testing and development, and for small projects it might cover actual production use. The free quota is shared between Basic and Advanced in the same project.

Do spaces and HTML tags really count toward billing?

Yes. Every space, newline, and HTML tag counts as a character. For plain text the extra cost from spaces is small (English text is roughly 70% letters, 16% spaces). For HTML content, markup can add 15-30% on top of the translatable text.

What happens when I hit a rate limit?

The API returns 403 User Rate Limit Exceeded. The per-minute quota resets after 60 seconds. The daily quota resets at midnight Pacific Time. Implement exponential backoff in your code - first retry after 1 second, then double each time up to ~32 seconds.

Can I increase my quotas?

Yes, through Google Cloud Console under IAM & Admin → Quotas. Standard quota increases are usually approved automatically or within 24-48 hours. For Translation LLM and custom model quotas, the process may take longer or require a support request.

Which version should I use for a new project?

Start with Advanced (v3). Google is actively developing it - it gets new features, LLM translation, glossaries. Basic (v2) is essentially feature-frozen. The only reason to choose v2 is if you specifically need API key authentication or need to sustain >6,000 requests/minute without batching.

How do I monitor costs to avoid surprise bills?

In Google Cloud Console: Billing → Budgets & alerts. Set alerts at 80% and 100% of your planned budget. You can also check APIs & Services → Cloud Translation API → Metrics for real-time tracking of character usage and request counts.

Sources

  1. Google Cloud Translation - official pricing page - current NMT, LLM, and AutoML rates
  2. Google Cloud Translation - quotas and limits - official rate limit documentation
  3. Migrate from Basic to Advanced - official migration guide from v2 to v3
  4. Google Developer Forum - hidden rate limits - developer discussion on undocumented quotas
  5. Google Cloud Translation FAQ - official FAQ

Try ChatsControl

AI platform for professional translators

Try for free →