Phrase TMS Limits

Content is machine translated from English by Phrase Language AI.

Users are expected to use Phrase responsibly, reasonably (especially with regards to our fair use policy) and to comply with our data storage policy.

  • The free Developer edition is limited to a maximum of two jobs, and the maximum size of any uploaded file is 1 MB.

  • Numbers of users is dependant on user management.

File Size Import Limits

  • Maximum import size: 1 GB (for a file or a batch of files imported in one request).

  • .ZIP: 100 MB

  • Plain .PDF (not via TransPDF): 100 MB

  • XML inside MS Office documents: 100 MB

  • .IDML files: 200 MB per file and 100 MB for embedded XML files.

  • Images: 500 KB per image, 10 MB for all images in a file

  • .JSON and .YAML: the Context Note, Context Key, and Max. target length are processed only for files 10MB and smaller.

  • Custom logo: Image cannot be larger than 180x65px.

File Import Limits

  • File naming: Filename and original file directory length is limited to 255 chars. Both properties are truncated on save, so information may be lost on save if names are too long.

  • Number of segments in one job: 500,000

  • Tag metadata content in a segment: 20,480 characters (calculated separately for source and target)

  • Number of characters per segment: 10,240 characters (calculated separately for source and target)

  • Number of characters per context key/context note: 10,240 characters.

  • MS Word paragraphs: 20,000 characters

  • .DOC files: 80 pictures per file

  • MS Excel:

    • 200,000 cells per file

    • 500 styles for files imported as MS Excel with the HTML subfilter, regexp to Convert to Phrase tags or as Multilingual MS Excel.

    • Spreadsheet documents containing more than 10,000 cells with conditional formatting and are processed with Multilingual ExcelExcel with html (Process HTML code) or Excel with Convert to Phrase TMS tags filters will be rejected as too large/complex.

  • MS Excel sheet names: 31 characters, table names: 255 characters

  • .XML: the Context Note, Context Key, and Max. target length are processed only for files with a maximum of 10,000 XML elements.

  • MT Glossaries: Up to 10 glossaries can be attached to a Phrase Language AI profile (or activated in Phrase Language AI if profiles are not used) with a maximum of 50,000 entries in total.

  • Update source: A new version of the source file can only be uploaded to an existing job once every 30 minutes.

API Limits: Async Requests

The most resource demanding actions in Phrase are called Async Requests as they are executed asynchronously. This includes creation of new jobs, pre-translation, analysis, TM exports and imports, QA, etc.

Limits for the maximum number of concurrently running (submitted and not yet completed) async requests in each plan:













Enterprise Starter




If limits are exceeded when submitting a new async request, the 429 HTTP response will be returned. The async/status API endpoint is available to monitor the current number of running async requests and their limits.

Limits for new Phrase Platform pricing plans



Starter/Freelancer (LSP)


Team/Professional (LSP)


Business/Business (LSP)


Enterprise/Enterprise (LSP)


Request Rate Limiter

The request rate limiter is common to all Phrase services. This limiter allows a fixed number of requests to be submitted within a fixed time frame (minute) by a user.

Access to Phrase Services via the API is subject to usage limits. The number of permitted calls is:

Logged-in users

6,000 per minute

Users who are not logged in

2,000 per minute

Concurrent Request Limiter

The concurrent request limiter only allows a certain number of requests to be processed concurrently for one user. This limiter works as an add-on to the request rate limiter to protect the system from resource exhaustion in the following scenarios:

  • Resource-intensive APIs being heavily called by a single user.

  • APIs called at extreme rates within a very short period of time. This can be caused by a malfunctioning script.

The concurrent request rate limiter has two limits: the global limit tracks the number of concurrent requests being processed across the whole system and the local limit tracks the number of concurrent requests being processed at one backend processing unit. The requests are evenly distributed to many backend processing units so it very rarely occurs that a local limit is hit. An example of limits being hit may be the submission of hundreds of requests in just a few milliseconds over a single HTTP connection resulting in many requests directed to a single backend processing unit. Under normal circumstances the global limit is the only number to be aware of.

The default limits are as follows and may be increased upon request:

Global concurrent limit


Local concurrent limit


If the limit is hit, the Phrase TMS API will return a HTTP 429 status code in the response. To prevent this from happening, track the number of concurrent requests and submit new requests only if there’ is free capacity. To make it easier, the following HTTP headers are returned in all API responses:


Maximum number of permitted concurrent requests


Remaining number of concurrent requests that can be made

Jobs in a Project

  • The maximum number of jobs that can be in a project (all target languages) is 50,000 including jobs imported via API. The recommended volume for simultaneous import is up to 500 jobs per 1 target language.

  • Assigning providers from a template will only allow 100 jobs to be selected at a time.

  • The maximum number of segments which CAT web editor can open (applicable to both a single file and joined files) is 40,000 segments.

  • The maximum number of joined jobs that can be processed in QA is 500.

  • The maximum number of keys allowed in a job is 10,000.

  • A maximum of 260 job parts in joined jobs can be opened at a time in the CAT web editor.

Opening a large number of files at one time can have a negative impact on performance or cause difficulties with loading all files. To avoid problems, it is recommended that you do not join more than 100 files or more than 40,000 segments.


  • The maximum number of rows that can be downloaded from a chart or report is 10K.

  • Data retention period is limited to the past 12 months.

In-context Preview

  • The in-context preview in CAT editors for MS Excel or Multilingual MS Excel has a limit of 200 columns or 5000 rows in the original file. This limit excludes hidden columns or rows.

  • Office Open XML Word documents (default format of MS Office documents since 2007) with any XML zipped inside larger than 20 MB, will not generate in-context preview. This restriction also applies to older formats as Phrase converts them to Office Open XML upon import.

  • In-context preview cannot be generated for .PPTX or .DOCX files of over 100 MB.

  • In-context preview for .PPTX files is limited to files with a maximum of 50 slides.

  • CMS in-context preview has a limit of 5,000 segments.

  • Images embedded in .XLIFF files have a limit of 500 KB per image and 10 MB for all images within a file.

Editor Limits

Side panel display limitations:

  • Cat tab results

    • Unlimited term base results

    • 5 translation memory results

    • 5 subsegment results

  • Search tab results

    • 20 term bases results

    • 50 translation memories results

  • Translation table

    • In any segment, no more than 999 splits or joins (or combination of these) can be performed.

Auto LQA Limits

Auto LQA can be run on a maximum of 300 segments and a limit of 50 runs per day.

Default Analysis

The results of a default analysis of files that contain more than 100,000 segments is only approximate.

Translation Memory Limits

  • Original imported values of text attributes are truncated to max. 32,766 UTF-8 bytes (calculated separately for source and target units).

  • Segment key values longer than ~32kb cannot be indexed.

Was this article helpful?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.