Localization is a must if you want your content to be accessible to an international audience. Machine translation using machine learning offers high-quality translations for a fraction of the cost compared to professional human translators.
CSV files are perfect for storing structured data and are used by most applications to export your data into a generic format.
Product catalogs can be exported to CSV files. CMS articles can be extracted into flat files.
👉 CSV has become the de facto format for sharing generic data between applications.
But you can't translate a CSV file as a simple text file. Some columns might be names, or dates and must be kept unchanged. How do you translate some columns from a CSV file?
I’ll show you how to translate your CSV for 35x cheaper than Google Translate or DeepL.
In this guide, we’ll go through these steps:
- How to import your CSV file on Datablist
- How to translate the text on a CSV column to another language
- How to deal with complex translations (HTML/JSON texts)
- Export your translated data as CSV or Excel files
Let's dive in.
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 the + button in the sidebar or the "Start with a CSV/Excel file" shortcut on the home page.
When using the "+" 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 the "Long Text" data type 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.
Three translation providers are integrated into Datablist: Google Translate, Deepl Translate, and ChatGPT Translator. 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
By default, the actions available with the "Enrich" button will run on all of your items. Translation actions will translate all of your listed items.
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 - 35x cheaper
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.
Then, in "Input Property", select the property from your CSV file with the texts to translate. 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.
Click on "Continue to outputs configuration" to define where the translated texts will be stored.
Here, click on the "+" button to create a new property in your collections.
📘 Notes
Your source property (= column) will not be updated. The output property cannot be the input property as it would overwrite its data. You will be able to manage your properties in the last step to have the desired column names.
Once configured, click "Run on first 10 items" to run the translation enrichment on a test batch of 10 items.
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.
If the translated texts are good for the ten first items, click "Run enrichment on all items" to process the remaining items.
Translate a CSV file using Deepl
Deepl is a machine translation service launched in 2017. Deepl is known for its accuracy compared to Google Translate. Under the hood, Deepl uses a different kind of neural network called convolutional neural networks (CNNs). This technology keeps the context as it processes long texts. So, Deepl is better suited for longer texts and Google Translate for texts with unrelated sentences.
To use Deepl, follow the same process as Google Translate but select the new Deepl action.
Translate a CSV file using ChatGPT (35 times cheaper!)
ChatGPT is a language model developed by OpenAI. One of its many uses is for translation. It comprehends the nuances of language, allowing it to grasp the context and meaning behind sentences. This contextual awareness enables ChatGPT to produce accurate and contextually appropriate translations.
ChatGPT comes in different models, each with a different pricing.
On the 18th of July, 2024, OpenAI released the GPT-4o mini model. A very cost-effective model returning high-quality translations.
Since April 14, 2025, GPT-4.1 models are live — faster and with bigger context windows. GPT-4.1 nano is the cheapest option for translating texts.
Compared with Google Translate or Deepl, ChatGPT is 35 times cheaper and the translations are of almost equivalent quality to Google Translate. Deepl is still first in translation quality but by a small margin.
I recommend you give it a try on a subset of your items to evaluate the translation quality. If like me you find the results accurate, ChatGPT is an economical choice for CSV translations.
How to select a different ChatGPT model for translation?
Datablist lets you choose between different ChatGPT models when translating your CSV data.
Here are the available ChatGPT models:
- GPT-4.1 – The newest flagship model. Fast, smart, and great at understanding context. Perfect for high-quality translations with complex structure or formatting. A little bit cheaper than the previous GPT 4o flagship model.
- GPT-4.1 mini – More expensive than GPT-4o mini.
- GPT-4.1 nano – The cheapest option. Ideal for basic, high-volume translations. Less capable with subtle context, but more than enough for product descriptions or simple text.
- GPT-4o – Solid and reliable. Around 20x more expensive than GPT-4o mini.
- GPT-4o mini - Default – Still excellent for most translation tasks. Very good price/quality ratio.
💡 Tip
GPT-4.1 nano is the cheaper mode. It is more than 35x cheaper than Google Translate or DeepL.
To select a different model:
- In the "Translate with OpenAI/ChatGPT" enrichment, click on “Advanced Settings”.
- Under the "GPT Model" selection, pick the version you want to use.
Each model comes with trade-offs: higher price means better language understanding, while cheaper ones like GPT-4.1 nano let you translate large datasets for pennies.
💡 My advice?
Start with GPT-4.1 nano. Run a test on a few rows. If the translation looks good, use it for your full dataset and save a ton. If not, switch to GPT-4o for better results.
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.
When using the “Translate with OpenAI/ChatGPT” action in Datablist, you can write your own custom instructions that will be sent to ChatGPT. It controls how the translation works.
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.
👉 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:
Custom instructions let you control how ChatGPT works. Without them, it guesses. With them, you’re the boss.
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.
By default, it skips already processed items. This is handy when you're working through your file bit by bit.
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
.
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 texts are saved in the "Translated Texts" output property.
Automatic translations are convenient but error-prone. A manual review of your translations is important.
Check the translated texts to:
- Find names and domain-specific vocabulary - Google might translate product names or technical words. Note: words beginning with a capital letter are usually not translated.
- 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
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?
Use the number of characters you got above to get an estimation of the translation cost.
Google Translate and Deepl cost 35 credits per 1000 characters. One credit costs $0.001 (less with higher top-ups).
So, the calcul is:
(NumberCharacters/1000)*35 = TotalCreditsCost
Then,
TotalCreditsCost*0.001= TotalCostDollar
For example, for 300 000 characters:
(300000/1000)*35*0.001 = $10.5
ChatGPT costs 1 credits per 1000 characters. With the same calcul, we get for 300 000 characters:
(300000/1000)*1*0.001 = $0.3
That is 30 times cheaper with ChatGPT (10.5/0.3 = 35).
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?
Datablist uses Google Translate API and Deepl which have a cost. As much as we would like to offer this service for free, we have to set a limit for free translations.
Free users can translate up to 50 items per month for free. Upgrade to the Standard plan for unlimited translations.
Can I use my own Deepl API key?
If you already have a Deepl account, you can use it directly on Datablist. An option to set your custom Deepl API Key is available for Standard users.
With a custom Deepl API Key, the action doesn't use Datablist credits. The action calls Deepl API on your behalf.
This option is perfect when you have large datasets to translate.
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?
Datablist relies on Google Translate API, Deepl API, and ChatGPT API for automatic translations. The accepted languages for Google Translate are listed on this page. At the time of writing, 111 languages are available. Translations from and to any of the listed languages are possible.
Deepl supports fewer languages. Currently 28 languages are available.