Translating a Whole Column Without Copying and Pasting
If you need to translate Google Sheets data, you probably have a column of product names, descriptions, ad headlines, support tickets or customer reviews, and a deadline. Pasting each cell into a translation website works for five rows. It does not work for five hundred.
This guide is for anyone running a shop, a marketing team or a support inbox out of a spreadsheet. There are two ways to translate a column in bulk, and they suit different jobs. The first is the free built-in GOOGLETRANSLATE formula. The second is AI translation, where you can tell the model about tone, a glossary, character limits and words that must stay in English.
I use both. I will show where each one is good enough, where it falls short, and how to set up the AI version so the output is consistent from row to row.
What You Need
For the built-in formula you need nothing. It is part of Google Sheets.
For AI translation you need the SheetAI add-on. It is a Google Sheets add-on from the Google Workspace Marketplace, and it works only in Google Sheets, not in Microsoft Excel.
- Install it from the Google Workspace Marketplace.
- In your sheet, open Extensions > SheetAI App > Launch to open the sidebar.
- Either paste your own API key in the sidebar settings (OpenAI, Anthropic Claude, Google Gemini, xAI Grok or Replicate, and you pay the provider directly), or use a hosted plan that needs no key. Hosted plans start at $12 per month, and the details are on the pricing page.
If you have not used the add-on before, get started here first.
Method 1: The Built-In GOOGLETRANSLATE Formula
The syntax is:
=GOOGLETRANSLATE(A2, "en", "hi")
The three arguments are the text, the source language code and the target language code. Write the formula in the first row, then drag it down the column. It is free, it is fast, and it has no setup.
Here are the codes I use most often:
| Language | Code |
|---|---|
| English | en |
| Hindi | hi |
| Spanish | es |
| French | fr |
| German | de |
| Portuguese | pt |
| Japanese | ja |
| Arabic | ar |
If your column mixes languages, use "auto" as the source and let Sheets detect it:
=GOOGLETRANSLATE(A2, "auto", "en")
This is the quickest way to translate a column of mixed-language reviews into English so you can read them.
Here is what it looks like on some English shop copy translated to Spanish.
| A | B | C | |
|---|---|---|---|
| 1 | English | GOOGLETRANSLATE | SheetAI |
| 2 | Cloud Throw: soft enough to live on the sofa. | Manta Nube: lo suficientemente suave para vivir en el sofá. | Cloud Throw: tan suave que no querrás levantarte del sofá. |
| 3 | Free returns within 30 days | Devoluciones gratuitas dentro de los 30 días | Devoluciones gratis durante 30 días |
| 4 | A hand-poured soy candle with fig and cedar. | Una vela de soja vertida a mano con higo y cedro. | Una vela de soja artesanal con aroma a higo y cedro. |
| 5 | Back in stock, ships tomorrow | De nuevo en stock, se envía mañana | Ya disponible de nuevo, se envía mañana |
| 6 | Treat yourself to a cosy night in | Date un capricho con una noche acogedora en casa | Date un capricho: una noche tranquila en casa |
The first row shows the typical weakness. The formula translated the product name "Cloud Throw" into "Manta Nube", which is a literal translation of a brand name that you probably wanted to keep. The rest of the rows are understandable, but a few read like a translation, not like copy a Spanish shop would write.
When GOOGLETRANSLATE Is Enough
It is a good choice when you need the gist. Reading foreign-language reviews, scanning a supplier sheet, checking what a column of survey answers says, or producing a rough draft that a person will edit. It costs nothing and you can run it on thousands of rows.
Where It Falls Short
It has no idea what your text is for. It cannot be told to keep a brand name, to use a formal or friendly tone, to stay under a character limit or to follow your glossary. Short strings with no context (a single word like "Cart" or "Light") are easy for any translation tool to get wrong, because the word could mean several things.
Method 2: AI Translation with SheetAI
SheetAI adds a dedicated function for translation:
=SHEETAI_TRANSLATE(A2, "hindi")
The second argument is the target language, written as a name. Here is an English to Hindi example, since many people search for how to do an English to Hindi translate in Google Sheet.
| A | B | |
|---|---|---|
| 1 | English | Hindi |
| 2 | Thank you for your order | आपके ऑर्डर के लिए धन्यवाद |
| 3 | Your order has shipped | आपका ऑर्डर भेज दिया गया है |
| 4 | Track your parcel | अपना पार्सल ट्रैक करें |
| 5 | Free delivery on your first order | आपके पहले ऑर्डर पर मुफ़्त डिलीवरी |
| 6 | Welcome | स्वागत है |
For plain sentences like these, the built-in formula and the AI function will often agree. The difference shows up when you need to control the result, and that is where =SHEETAI(...) with your own prompt comes in. It takes a prompt, then optional max tokens, temperature and model:
=SHEETAI("Translate into Spanish for an online shop. Friendly tone. Keep the brand name Cloud Throw in English. Text: "&A2, 300, 0.2)
A low temperature such as 0.2 keeps translations close to the source and more consistent between rows. You can also choose a model as the fourth argument, for example "c3s" for Claude Sonnet or "4o" for GPT-4o. The Anthropic models page and OpenAI models page list what is available. If you want to understand the prompt side of this in more depth, the guide to using ChatGPT in Google Sheets covers the basics.
Step-by-Step: Localise a Product Catalogue with a Glossary
This is the workflow I would use for a shop catalogue going into a second language.
Step 1: Put the Rules in Fixed Cells
On a separate tab, or in a few cells at the top of the sheet, write down the rules once:
E1: Spanish
E2: Cloud Throw, SheetAI, Nordic Oat
E3: Friendly, short sentences, use "tu" not "usted"
Then every formula reads the same rules and every row follows them. If you change the glossary, the whole column follows.
Step 2: Write the Formula
In B2, next to your English description in A2:
=SHEETAI("Translate this product description into "&$E$1&" for an online shop. Keep these terms exactly as written, untranslated: "&$E$2&". Style: "&$E$3&". Return only the translation. Text: "&A2, 400, 0.2)
The $ signs lock the references, so they do not shift when you drag the formula down.
Step 3: Fill in Batches
Google Sheets custom functions time out after about 30 seconds per cell. Fill long columns in batches of 50 to 100 rows, not 5,000 at once. Results are cached, so running the same prompt on the same text again does not bill you twice.
Step 4: Freeze the Values
Once you are happy with a batch, copy the column and use Paste special > Values only. This stops the cells from recalculating later. There is a short guide on how to prevent formula recalculation.
Step 5: Spot-Check
Read a sample. Anything customer-facing should be checked by a native speaker before it goes live. I treat the AI output as a strong first draft, not a finished translation.
Translate Into Several Languages at Once
A neat way to handle many languages is to put the language name in the header row and reference it in the formula:
=SHEETAI_TRANSLATE($A2, B$1)
The $A locks the source column, and the B$1 locks the header row. Drag the formula right across the languages and then down the rows, and one formula fills the whole grid.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | English | Spanish | French | German |
| 2 | Free returns within 30 days | Devoluciones gratuitas durante 30 días | Retours gratuits sous 30 jours | Kostenlose Rücksendung innerhalb von 30 Tagen |
| 3 | Your order has shipped | Tu pedido ha sido enviado | Votre commande a été expédiée | Ihre Bestellung wurde versandt |
| 4 | Thank you for your order | Gracias por tu pedido | Merci pour votre commande | Vielen Dank für Ihre Bestellung |
| 5 | Track your parcel | Sigue tu paquete | Suivez votre colis | Verfolgen Sie Ihr Paket |
| 6 | Add to basket | Añadir a la cesta | Ajouter au panier | In den Warenkorb |
You will notice the Spanish uses the informal "tu" while the French and German use the formal form. Different languages have different conventions for shops, and if you have a preference you should say so in a prompt rather than leave it to chance. That is another reason to use =SHEETAI(...) with your own instructions for customer-facing text.
Translate Customer Reviews to English, Then Classify Them
This is one of the most useful bulk translate jobs, and it works the opposite way round. You collect reviews in several languages and want to know what people think without reading each one.
First translate to English in column B:
=SHEETAI_TRANSLATE(A2, "english")
Then classify the English text in column C:
=SHEETAI_CLASSIFY(B2, "Positive, Neutral, Negative")
| A | B | C | |
|---|---|---|---|
| 1 | Original review | English | Sentiment |
| 2 | Llegó rápido y la manta es preciosa | It arrived quickly and the blanket is lovely | Positive |
| 3 | Le colis est arrivé abîmé | The parcel arrived damaged | Negative |
| 4 | Gute Qualität, aber etwas zu klein | Good quality, but a little too small | Neutral |
| 5 | No recomiendo este producto | I do not recommend this product | Negative |
| 6 | Très belle odeur, je recommande | Lovely scent, I recommend it | Positive |
Translating first means you keep a single category list instead of maintaining one per language. If you want more than one label per review (for example "Delivery" and "Quality" together), use =SHEETAI_TAG instead. The full guide to classifying data automatically in Google Sheets goes through writing good category lists.
Translate Ad Copy With a Character Limit
Ad platforms limit how long your text can be. Google Ads responsive search ads, for example, allow headlines of up to 30 characters. A literal translation often runs longer than the English, so a normal translation formula can produce text that gets rejected.
Put the limit in the prompt, then check it with a normal formula:
B2: =SHEETAI("Translate this ad headline into Spanish. It must be 30 characters or fewer, natural and punchy. Do not translate the brand name SheetAI. Headline: "&A2, 100, 0.3)
C2: =IF(LEN(B2)<=30, "OK", "Too long")
Models do not count characters perfectly, which is why the LEN check in column C matters. For any row marked "Too long", re-run it with a tighter prompt such as "25 characters or fewer", or shorten it by hand.
Prompt Tips for Better Translations
- Say what the text is. "Product description for an online shop" gives a different result from "support email reply".
- Name the audience and tone. Formal or informal, friendly or neutral, and which country if the language varies (Spanish for Mexico is not the same as Spanish for Spain).
- List words to leave alone. Brand names, product names, SKUs and technical terms go in a do-not-translate list in a fixed cell.
- Ask for the translation only. Add "Return only the translation" so you do not get a polite introduction in every cell.
- Keep temperature low. Around 0.2 is a sensible start for translation.
- Give short strings some context. A one-word label like "Light" is ambiguous. Write "Light (as in lightweight)" in the prompt, or translate it in a longer phrase.
- Keep a column of the source text. You will want it when someone asks why a line was translated a certain way.
Limits and When to Use Something Else
Machine translation and AI translation are both good drafting tools. Neither is a replacement for a human where the stakes are high.
- Legal and medical text. Do not use machine or AI translation alone for contracts, terms, consent forms, medical instructions or anything where a wrong word has real consequences. Use a qualified translator.
- Customer-facing copy. Have a native speaker spot-check it before it goes live, especially on your homepage, checkout and emails.
- The AI only sees the cells you reference. If the meaning depends on context that is not in the cell, add that context to the prompt.
- Very long columns. Fill in batches because of the roughly 30 second per-cell timeout.
- Fully formatted documents. If you need to translate a whole Word file or PDF with layout intact, a dedicated document translation tool is a better fit than a spreadsheet.
- Low-resource languages. Quality varies by language. The more widely used the language, the better the output tends to be, so check a sample in any language you cannot read yourself.
If a plain gist is all you need, use GOOGLETRANSLATE and keep it free. If the text is going in front of customers, use the AI version with a glossary and then have it reviewed.
Frequently Asked Questions
How do I translate Google Sheets cells automatically?
Use =GOOGLETRANSLATE(A2, "en", "es") for the built-in route, or =SHEETAI_TRANSLATE(A2, "spanish") with SheetAI. Write the formula in the first row and drag it down the column. Both update when the source cell changes, so paste values once you are done.
What is the Google Sheet translate formula for English to Hindi?
The built-in version is =GOOGLETRANSLATE(A2, "en", "hi"). The SheetAI version is =SHEETAI_TRANSLATE(A2, "hindi"). For anything customer-facing, ask a Hindi speaker to review the result.
Can I bulk translate a column into several languages?
Yes. Put the language names in the header row, for example Spanish, French and German in B1, C1 and D1, then use =SHEETAI_TRANSLATE($A2, B$1) and drag it across and down. Fill large sets in batches of 50 to 100 rows.
Is there an AI that translates Google Sheets better than GOOGLETRANSLATE?
It depends on the job. For a quick gist, the built-in formula is hard to beat because it is free and instant. An AI model is better when you need a particular tone, a glossary, a length limit or brand names kept as they are, because you can tell it those rules in the prompt.
Can I keep a translation from changing later?
Copy the translated column and use Paste special > Values only. That replaces the formulas with plain text. Results are also cached, so the same prompt on the same text is not billed twice.
Try It on a Small Column First
Pick ten rows of your own copy, translate them both ways side by side, and see which result you would actually publish. You can install SheetAI from the Google Workspace Marketplace, and the documentation lists every function.