How We Count Characters
To keep pricing fair and transparent, we count characters based on actual usage, including what gets translated and what gets persisted for future reuse.
What Is Counted as a Character?
We follow Unicode character count (UTF-16 code units). This includes:
- Letters, numbers, punctuation, and symbols
- Spaces and line breaks
- Emojis and non-Latin characters (e.g. Chinese, Arabic)
What Character Types Are Counted
We charge based on two main types of characters:
1. New Translation Characters
These are characters that are:
- Not found in your application cache
- Not found in your persist string
๐งพ Example: If you translate a 100-character string into 3 languages, it counts as 300 characters.
2. Persisted Source Characters
These are characters that you:
- Mark as persist(by default), which persist in the DB for review and editing
๐งพ Example: If a 200-character source string is saved to DB for 2 locales, we count 400 characters total for each billing cycle.
๐งพ Note: When a string is both translated for the first time AND persisted:
- The translation characters are counted as new translations
- The source string is also counted as persisted characters
- This results in both counts being applied in the same billing cycle, but the translation is only a one-time charge
๐งพ Example: If you translate and persist a 100-character string into 3 languages:
- Translation count: 300 characters (100 ร 3)
- Persist count: 300 characters (100 ร 3)
- Total counted: Total counted: 600 characters for the current billing cycle, it will be only 300 characters in the next billing cycle for the persist
Whatโs Not Counted
- Strings served from local cache
Billing Cycle
- Character count resets every billing cycle
- Persisted keys are counted once for each billing cycle, not on every access
- Translation characters are counted only if not cached
How Many Characters Might Your App Have?
Understanding your app's size helps choose the right plan and estimate translation needs. Here's a practical guide based on real-world examples:
Typical UI Character Examples
UI Element | Estimated Characters |
---|---|
"Welcome to our app" | 20 |
Button: "Submit" | 6 |
Input label: "Email address" | 14 |
Error message: "Invalid password" | 18 |
Modal title + description | 100โ300 |
FAQ or Help Article | 300โ1,000 |
- Average app string (per key): 15โ50 characters
- Small project: 200โ500 keys (3,000โ25,000 total characters)
- Small-medium project: 500โ1,500 keys (7,500โ75,000 total characters)
๐ How Many Languages Do People Translate To?
Translation Target Locales | Common Use Case | Recommended Plan |
---|---|---|
2 | Personal project, hobby app, MVP testing | ๐ Hobby (Free) |
5โ10 | Production app, key global markets | ๐ผ Pro Starter |
10+ | Enterprise SaaS, global customer base | ๐ Pro Starter + Top-ups |
๐งฎ Plan-Based Character Examples
Plan & Scenario | App Size | Languages | Total Characters Used | Plan Status |
---|---|---|---|---|
๐ Hobby Plan 10K chars included | Small app (200 keys ร 20 chars = 4,000) | 2 languages | 4,000 ร 2 = 8,000 | โ Within limit |
๐ Hobby Plan 10K chars included | Small app (250 keys ร 20 chars = 5,000) | 2 languages | 5,000 ร 2 = 10,000 | โ Perfect fit |
๐ผ Pro Starter 150K chars included | Small-medium app (500 keys ร 30 chars = 15,000) | 10 languages | 15,000 ร 10 = 150,000 | โ Perfect fit |
๐ผ Pro Starter 150K chars included | Medium app (750 keys ร 25 chars = 18,750) | 5 languages | 18,750 ร 5 = 93,750 | โ Comfortable fit |
๐ก Key Insights
- Free Hobby Plan (10K chars): Perfect for small projects with 2 languages. Great for testing, MVPs, and personal projects.
- Pro Starter (150K chars): Ideal for small-medium production apps targeting 5-10+ global markets.
- Need more? Pro Starter offers affordable top-ups at $1 per 20K additional characters.
๐ก You can view your real-time usage in our dashboard once you integrate.