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.

Create a new collection
Create a new collection

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.

Select LongText for your text column to translate
Select LongText for your text column to translate

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.

Translate all items
Translate all items

Select specific items

To translate only some of your items, click and move on the checkboxes while holding the click.

Translate selected items
Translate selected items

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

Select "Google Translate" in the listed enrichments to open the configuration drawer.

Select Google Translate Enrichment
Select Google Translate Enrichment

Before translating your CSV, you need to fill out the settings and define the input.

Configure Google Translate Enrichment
Configure Google Translate Enrichment

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.

Configure Translated Text output
Configure Translated Text output

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.

Process 10 items before running on all items
Process 10 items before running on all items
See the video for the full process (this is an old Datablist version, the translate services are now accessible from the "Enrich button")

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.

Select Deepl Enrichment
Select Deepl Enrichment

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.

Select ChatGPT for Translation
Select ChatGPT for Translation

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.

Select ChatGPT model
Select ChatGPT model

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.

Custom Instructions
Custom Instructions

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.

Example #1 - Don’t translate business terms
Don't translate common business English terms such as "API", "SaaS", "CRM", "lead", "onboarding", "freemium". These are widely understood in other languages.

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:

html
<p>Hello {first_name}, welcome to <b>Our App</b>!</p>

👉 Custom instruction:

Example #2 - Keep HTML and variables safe
Translate the text but keep HTML tags and variables like {first_name} untouched.

✅ Result (Spanish):

html
<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:

json
{
"title": "Your payment was successful",
"description": "You can now access premium features."
}

👉 Custom instruction:

Example #3 - Translate JSON or structured content
Translate only the values in this JSON. Keep the structure valid and do not translate the keys.

✅ Result (French):

json
{
"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:

Example #4 - Keep product names or brands
Do not translate the product name "Formly". Leave it as is in all languages.

5. Adjust tone or formal level

Want to sound formal in German, but casual in Spanish?

👉 Custom instruction:

Example #5 - Adjust tone or formal level
Translate to formal German using "Sie", and to casual Spanish using "tú".

Pro tip: Stack instructions

You can mix them!

👉 Example:

Mix several instructions
Translate to French. Keep HTML and variables like {name}. Don’t translate terms like “CRM”, “API”, or “leads”. Use a friendly tone.

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.

Run on a few items
Run on a few items

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.

Click on enrichment column
Click on enrichment column

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.

Run on remaining items
Run on remaining items

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.

Run on remaining items
Run on remaining items

💡 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.

FieldSource valueIntended handling
SKUAC-001Keep unchanged.
DescriptionRed cotton shirtSave the reviewed Spanish text in a new column.
URLhttps://acme.example/products/teeKeep unchanged.
Template textHello {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.

Review the texts in table
Review the texts in table

Or open the details drawer.

Review a text with item details
Review a text with item details

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.

Export collection
Export collection

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.

Click on properties management
Click on properties management

Then:

  1. Rename the source property
  2. Hide the source property
  3. 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.

Rename and hide old property
Rename and hide old property

See the video below for a step-by-step guide.

Export data with original CSV columns

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.

Run Calculation
Run Calculation

Then, pick Characters count.

Select Characters Count
Select Characters Count

The result is displayed directly in the drawer.

Run Calculation
Run Calculation

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 enrichmentCredits per 1,000 source characters300,000-character example
Google Translate35 credits10,500 credits
Deepl Translate, using Datablist credits35 credits10,500 credits
Translate with OpenAI/ChatGPT, GPT-4o miniApproximately 1 credit, planning estimateApproximately 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:

EnrichmentSetting to inspectSample check
Google TranslateTarget Language and optional Source LanguageMeaning and terminology in representative rows.
Deepl TranslateAvailable languages, Context, and Formality where supportedShort labels, tone, and technical terms.
Translate with OpenAI/ChatGPTGPT Model and Extra InstructionsProtected 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.

Use custom Deepl API Key
Use custom Deepl API Key

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.