To translate CSV files online, import the file, select the text column, choose a target language, and save the translation in a new column. Keep IDs, SKUs, prices, URLs, and dates unchanged, then review and export the translated fields in the format your destination expects.
I recommend translating columns rather than pasting the entire CSV into a translator. That keeps the row structure intact and lets you compare source text with each proposed translation. A CSV can contain quoted commas, embedded line breaks, and identifiers that look like numbers; those values must survive the round trip.
This guide uses Datablist's Google Translate, Deepl Translate, and Translate with OpenAI/ChatGPT enrichments. Test a representative sample before choosing a provider for the whole file. Translation uses the configured service and available credits or an eligible provider-key setting; free signup does not mean unlimited bulk translation.
Start with the import step, configure one column's translation, then review the output before export.
Step 1: Import your CSV file
In this guide, all the work will be done online with Datablist CSV Viewer and Editor.
I will use a "Book Summaries" CSV file in this example. The demo CSV file is accessible here.
Start by creating a new collection. The collection will hold your CSV data. Click on + in the sidebar or Start with a CSV/Excel file on the home page.
When using + in the sidebar, select Import CSV/Excel to go to the CSV importer.
After loading your CSV file, Datablist lists the columns found. Every column is analyzed to detect its data type. On the column with your data to translate, select Long Text if not already selected.
With "Long Text", you will have a better user experience managing your texts.
Review your data and import your CSV content into Datablist.
Step 2: Select the items to translate
Datablist offers "Enrichment" to interact with your data. You can enrich Facebook leads or clean email listings directly from your data.
Choose from Google Translate, Deepl Translate, and Translate with OpenAI/ChatGPT. You can use one of them, or try them all to find the best suited for your texts.
Important - Enrichments are only available for registered users. Sign up for free to start translating your CSV files.
Enrichments are available with the Enrich menu. Enrichments will run on all your items or on the selected items.
Translate all items
Review the intended rows and run scope before starting. A selected set, filter, or run setting can change which records are processed; do not assume every row will be translated.
Select specific items
To translate only some of your items, click and move on the checkboxes while holding the click.
Step 3: Translate your CSV file
To list the machine translation providers available on Datablist, filter the enrichments by clicking on the Translations section.
Here are shortcuts for the 3 translation providers:
- Translate a CSV file using Google Translate
- Translate a CSV file using Deepl
- Translate a CSV file using ChatGPT
Translate a CSV file using Google Translate
Select "Google Translate" in the listed enrichments to open the configuration drawer.
Before translating your CSV, you need to fill out the settings and define the input.
For the settings, you must define:
- Source Language - Optional - If not defined, the source language will be auto-detected. If your texts are in different languages, keep the source language unselected.
- Target Language - Mandatory - Select the target language. Language names are listed with English names. See supported languages.
For mixed-language files, you can detect the source language of each row before translation and translate only the rows that need it.
Map Text to translate to the property from your CSV file containing the source text. The other columns won't be translated. This is perfect to translate a single CSV column and preserve the others.
In this example, the book summaries are listed in the "Description" property. I select "Description".
📕 Important
Only Text/Long Text properties are translatable. Other data types are ignored.
Continue to output mapping and save Translated Text in a new property.
Here, click on the "+" button to create a new property in your collections.
📘 Notes
Map the output to a separate property so the original text remains available for comparison. Review the mapping and existing-data rule before running. You will be able to manage your properties in the last step to have the desired column names.
Choose Continue with Instant Run and configure a small sample containing the formats in your file, including multiline or structured text when present.
This step is very useful to ensure your settings configuration is correct. Scroll the data table to see your translated texts. If the translations are not good, please review the "Source Language" or the input property.
After reviewing the sample, confirm the intended scope and run settings before processing the remaining rows.
Translate a CSV file using Deepl
Deepl Translate offers target and source language settings, plus advanced options such as Formality and Context. Use a sample from your own file to judge terminology and tone rather than assuming one provider is always better.
Follow the same input-and-output workflow as Google Translate, selecting Deepl Translate from the catalog. Review its available language and advanced settings for the specific target you need.
Translate a CSV file using ChatGPT
Translate with OpenAI/ChatGPT lets you configure language, model, and extra instructions. It is useful when the file needs a terminology rule, preserved placeholders, or a specific tone. These instructions guide the output; they still need validation.
Use Target Language and optional Source Language, map Text to translate, and save Translated Text in a separate property. Compare a sample with the other provider when the decision matters. This guide does not establish a universal quality ranking or fixed cost advantage.
How to select a different ChatGPT model for translation?
Datablist lets you choose between different ChatGPT models when translating your CSV data.
Open Advanced Settings and inspect GPT Model. Use the models and estimates currently offered by the enrichment instead of choosing from a list copied into an old article.
Start with a model suitable for the task and compare sample quality and reported usage. Include short descriptions, long paragraphs, ambiguous terms, and protected values. A model that handles easy rows well may still need stronger instructions or human review for the difficult ones.
The displayed character-based estimate is a planning guide. OpenAI translation usage is accounted for from model token usage, so input length alone does not fix the final cost. Keep the selected model and instructions consistent when comparing batches.
How to deal with complex translations?
Some texts are easy to translate. Others… not so much.
You’ve probably hit snags when translating:
- HTML code
- JSON-formatted content
- Business text with English jargon
- Product names or company names
- Form labels or placeholders
- Sentences with variables like
{first_name}or[LINK]
These are what I call “don’t break it” translations. You want the words in another language, but you don’t want the structure or key terms to change.
This is where custom instructions help.
In Translate with OpenAI/ChatGPT, open Advanced Settings and choose Extra Instructions. Use Keep XML or HTML structure, Keep JSON structure, or Custom Instructions according to the input. These settings guide the model; validate the result before import.
Let me show you some real-world examples.
1. Don’t translate business terms
You often want to keep words like “API”, “CRM”, “lead”, “SaaS”, etc.
2. Keep HTML and variables safe
If your text has HTML tags or variables, ChatGPT might break them unless you tell it not to.
👉 Input:
<p>Hello {first_name}, welcome to <b>Our App</b>!</p>👉 Custom instruction:
✅ Result (Spanish):
<p>Hola {first_name}, bienvenido a <b>Nuestra App</b>!</p>3. Translate JSON or structured content
JSON is tricky. One broken quote and your JSON is invalid. JSON is ofter used for product catalogs, or when you translate an application.
If your source file is raw JSON rather than CSV, convert it first with the JSON to CSV Converter, then translate the resulting columns.
👉 Input:
{
"title": "Your payment was successful",
"description": "You can now access premium features."
}👉 Custom instruction:
✅ Result (French):
{
"title": "Votre paiement a été effectué avec succès",
"description": "Vous pouvez maintenant accéder aux fonctionnalités premium."
}4. Keep product names or brands
Let’s say your app is called Formly and you don’t want it translated.
👉 Custom instruction:
5. Adjust tone or formal level
Want to sound formal in German, but casual in Spanish?
👉 Custom instruction:
Pro tip: Stack instructions
You can mix them!
👉 Example:
Keep the custom instructions specific and test them against the source. For JSON, parse the result and compare keys. For HTML, inspect the rendered output and check links and placeholders; valid-looking text is not enough.
Process your list step by step
Got a big CSV to translate? Or maybe you're testing different instructions or models? You don’t have to process everything at once.
Instead, you can run the enrichment on just a few items at a time.
Use the Number of items to process setting to control how many rows you want to process in a single run.
Continue where you left off
Once you've processed a chunk, you can come back later and run the enrichment again.
Click on the enrichment column, then select Run Enrichment.
It opens the enrichment drawer with the same settings you used before.
Inspect the configured processed-status and existing-data rules before rerunning. They determine which rows are skipped or overwritten; opening the same enrichment does not prove that only unfinished rows will run.
To reprocess everything or a specific set, use the Run on option and choose what should be processed.
Want to redo previous results?
Maybe you want to try another GPT model. Or update your custom instructions.
In that case, change the Existing data rule to Overwrite existing data in output properties (default).
That way, old values get replaced with the new ones.
💡 Use case tip
When testing multiple prompts, run each on a small batch. Compare results. Pick the best. Then run it on the whole list.
Step 4: Review your translations
Translated text is written to the property you mapped to Translated Text. Keep the original text, output, and source ID together during review.
Automatic translations need review. For an illustrative Spanish product row, keep SKU AC-001 and product name Acme unchanged while translating “Red cotton shirt” to “Camisa roja de algodón” in a separate description column. This is an example of the intended output shape, not a measured provider result.
| Field | Source value | Intended handling |
|---|---|---|
| SKU | AC-001 | Keep unchanged. |
| Description | Red cotton shirt | Save the reviewed Spanish text in a new column. |
| URL | https://acme.example/products/tee | Keep unchanged. |
| Template text | Hello {first_name} | Translate the greeting; preserve the placeholder exactly. |
Before reimport, reopen the downloaded CSV in a parser or spreadsheet and compare source IDs, row counts, headers, and protected values. Embedded commas and line breaks should remain inside their fields. A translated sentence can look correct while a mismatched column or altered identifier makes the file unusable.
Check the translated texts to:
- Find names and domain-specific vocabulary - Google might translate product names or technical words. Do not rely on capitalization to protect a brand or product name; specify protected terms and check them.
- Review variable placeholders - If your texts are used for software applications, check variable placeholders that must not be translated.
To quickly read and edit your translated texts, press "Enter" on a cell to enter edit mode.
Or open the details drawer.
Step 5: Export your translations as CSV or Excel files
The final step is to export your data back to a file to reimport it into your application. See our documentation to export your data in CSV or Excel files.
To export your data with the same CSV columns as the imported file: edit your properties to match the original columns.
Click on the properties management button.
Then:
- Rename the source property
- Hide the source property
- Rename the new property with translated text to match the source name
After hiding the source property, open Export and choose Export only visible properties. Export all properties includes the hidden original too. Reopen the downloaded file and check that its headers match the destination, with one translated column in place of the source column.
See the video below for a step-by-step guide.
Everything you need to know about CSV file translations
How to get the number of characters to translate?
Datablist provides an easy tool to perform calculations on your data. Use the Characters count calculation to get the sum of characters for a property.
Click on the property column, and select Perform calculation.
Then, pick Characters count.
The result is displayed directly in the drawer.
Notes
Calculations run on the current view. If you have filters or selected items, the calculation will run on those instead of all items.
How much do the translation providers cost?
Compare the Datablist enrichments on the same 300,000 source characters, with one target language and no repeated runs. Rates and monthly USD purchase examples below were checked November 3, 2026.
| Datablist enrichment | Credits per 1,000 source characters | 300,000-character example |
|---|---|---|
| Google Translate | 35 credits | 10,500 credits |
| Deepl Translate, using Datablist credits | 35 credits | 10,500 credits |
| Translate with OpenAI/ChatGPT, GPT-4o mini | Approximately 1 credit, planning estimate | Approximately 300 credits, planning estimate |
Google Translate and credit-funded Deepl use 300,000 / 1,000 × 35 = 10,500 credits. OpenAI's character-based estimate gives 300,000 / 1,000 × 1 = 300 credits for GPT-4o mini. The estimates differ by 35×; actual OpenAI charges depend on the selected model's input and output tokens, including instructions. Compare reported sample usage before expanding the run.
Monthly USD purchase example: With a fresh monthly USD Starter subscription, $25 includes 5,000 credits. For the Google or credit-funded Deepl example, add the $20 package of 20,000 credits: $45 paid, with 14,500 credits left after the 10,500-credit translation. The approximately 300-credit OpenAI estimate fits the included allowance; confirm actual usage stays within your available balance. This example assumes no other credit use.
At that specific $20/20,000-credit top-up rate, 10,500 credits represent $10.50 of credit value and 300 credits represent $0.30. These prorated values help compare usage; the subscription and fixed top-up packages determine the cash purchase. Other packages and currencies have different rates.
With your own eligible Deepl API key, Datablist charges no translation credits and DeepL bills your provider account. This is separate from the credit-funded example. Translation quality still needs review on the same source rows and target language.
Which translation provider should you use?
Choose by the language, context, structured-content settings, and review quality you need:
| Enrichment | Setting to inspect | Sample check |
|---|---|---|
| Google Translate | Target Language and optional Source Language | Meaning and terminology in representative rows. |
| Deepl Translate | Available languages, Context, and Formality where supported | Short labels, tone, and technical terms. |
| Translate with OpenAI/ChatGPT | GPT Model and Extra Instructions | Protected names, placeholders, HTML or JSON, and usage. |
I would compare providers on the same source rows and target language, then review accepted outputs with a competent speaker. Include difficult cases so the decision reflects the file you will actually translate.
For product catalogs, see AI translation at scale. For a more general prompt with separate row inputs, use LLM spreadsheet processing.
CSV translation use cases
CSV files often contain more than plain text. They mix product fields, IDs, dates, tags, URLs, and text columns.
Here are common files you can translate with Datablist:
- Ecommerce product catalogs with titles, descriptions, and bullet points
- Shopify, WooCommerce, or Magento exports
- App localization files with labels and messages
- Customer reviews from marketplaces or survey tools
- Support tickets and helpdesk messages
- Blog or CMS exports
- Sales notes, CRM notes, and company descriptions
- Job descriptions and recruiting messages
Translate only the text columns. Keep IDs, SKUs, prices, URLs, and dates unchanged.
Bulk CSV translation checklist
Before running a large translation job, check these points:
- Select the right text column.
- Keep the original column unchanged.
- Write translations to a new column.
- Set the source language if the text is short.
- Use custom instructions for placeholders, HTML, JSON, or brand terms.
- Run the first 10 rows.
- Review names, product terms, links, and variables.
- Process the remaining rows.
- Export only the columns you need.
This avoids the most common translation issues: broken placeholders, translated IDs, overwritten source text, and inconsistent tone.
Common CSV translation mistakes
Avoid these mistakes when translating a CSV file:
- Translating the full file as one text block
- Translating IDs, SKUs, dates, or URLs
- Overwriting the source column before review
- Forgetting to preserve placeholders such as
{name}or{{email}} - Translating JSON keys instead of values
- Running a large file before testing 10 rows
- Skipping review for product names and industry terms
CSV translation works best when you translate one text column at a time and keep the rest of the structure unchanged.
Why use CSV files for bulk translations?
CSV is a format to store structured data using text files. In a CSV file, each line is a data record. And each record is made of fields separated by commas (or sometimes by semicolons ";" or tabular keys).
CSV files are a common way to transfer data between applications. Because it relies on text files, the CSV format is a simple way to export database or spreadsheet data. Any text editor can open it but you need a CSV editor to avoid errors when manipulating CSV files.
You can export your data in CSV in most applications, translate specific columns, and reimport the translated CSV file back into your application.
Any structured listings with text columns are perfect to be represented with CSV.
For example:
- Translating a Product Catalog with text columns such as title and description
- Translating blog articles using structured files with title and article content
- Translating a list of User Reviews
How many translations can I perform for free?
Check the selected enrichment's current allowance and your credit balance in the application. Different translation services have different settings and availability. Free signup does not guarantee unlimited translations, and a paid collection allowance is not a translation quota.
Can I use my own DeepL API key?
The Deepl Translate enrichment offers a paid-account Deepl API Key setting. When configured, it uses your provider key instead of Datablist's credit system for the translation. Your DeepL account's usage and billing still apply. Check availability and the selected key before a bulk run.
Human translation vs machine translation
Machine translation is powered by automated software that translates source content into target languages. The best automatic translation providers use artificial intelligence and machine learning to offer high-quality translations.
Human translations by professional translators shine on complex texts. When the context is important, the text is long, and when vocabulary is technical or specific, machine translation is surpassed.
I like hybrid translation, combining machine translation with human review and rewrite. The hybrid translation is perfect for webpage internationalization.
What languages are supported?
Inspect Target Language and Source Language in the selected enrichment for the language pair you need. The provider catalogs change, so this guide does not freeze a language count. Test short or ambiguous source text instead of assuming automatic detection will be correct.


























