Get this add-on from Google Workspace Marketplace clasp code style: prettier CodeQL Lint Code Base Publish Release

Open-sourced Google Sheets™ add-on to use DeepL translation without leaving Google Sheets™. Translate the contents of the selected range and paste them in the range of cells adjacent to the original range. You need to have your own DeepL API Free or Pro account.

SheetsL icon

Prerequisite: Sign up for the DeepL API

Create a DeepL API account. You will need its authentication key. The key can be found on the DeepL account page once you have created the account.

Screenshot of the DeepL API account page

See the following official documentations of DeepL for more details:

How to Use

1. Install the Add-on

Install this add-on from the Google Workspace Marketplace. You have only to do this once per user; updates to the add-on will be automatically distributed via the Marketplace.

2. Set your DeepL API Authentication Key

From the Google Sheets menu, go to Extensions > SheetsL > Settings > Set Auth Key. Enter the authentication key of your DeepL API account, which can be found in the DeepL account page.

Screenshot of the menu in SheetsL to set the DeepL API authentication key

Note that there are two types of accounts in the DeepL service: the DeepL account and the DeepL API account. Both provide Free and Pro plans, but if you cannot find your authentication key in your account page, you are likely to be logged into the former. You will need to logout of this account and login (or sign-up) for the DeepL API account. Once you have finished setting your DeepL API authentication key to SheetsL, you can re-login to your original DeepL account.

See How are my DeepL API authentication key saved in SheetsL? if you are wondering how the authentication is securely saved.

3. Set your target language

There are reports of SheetsL returning an error at this point when the add-on was executed for the first time on a Google Sheets file that was already open at the time of installation. If you encounter such error, re-open the file using your browser’s reload button.

From the Google Sheets menu, go to Extensions > SheetsL > Settings > Set Language. You will be asked to enter the language code of your source and target languages, respectively. Choose one of the languages available in DeepL, listed in the prompt message.

While the target language must be designated, the source language can be left blank to use DeepL’s language auto-detection.

4. Translate

Select the range of cells that you want to be translated by DeepL. Go to Extensions > SheetsL > Translate and wait for the translated texts to be copied in an adjacent range on the right side of the original range.

Screenshot of how the translated text will be shown on the spreadsheet

For example, if you selected the range A2:B4 for translation, the translated text will appear in range C2:D4 (“target range”). If the target range is not empty at the time of translation, you will be asked if SheetsL can overwrite the cells.

Frequently Asked Questions

How are my DeepL API authentication key saved in SheetsL?

The DeepL API authentication key that you entered in Set your DeepL API authentication key section is saved in the add-on’s User Properties, to which only the add-on user has read and write access. The properties will NOT be shared with the add-on’s developers, other add-ons or apps, users you are sharing the Google Sheets file with, or anyone else.

Terms and Conditions

You must agree to the Terms and Conditions to use this add-on.

Disclosure on Privacy and OAuth Scopes

This section constitutes an addition to the Terms and Conditions as defined by its Additional Terms clause to clarify how the user’s private information is handled in this add-on.

SheetsL: DeepL Translation for Google Sheets™, hereinafter referred to as the Add-on in this section, is in compliance with the Privacy Policy with regard to the processing of your private data, which includes the contents of your Google Sheets files and the authentication information for your DeepL API account. Please note that the handling of your data by the DeepL API is outside the scope of this policy; please be sure to understand their privacy policy as well when creating your DeepL API account.

Separate from these policies, Google provides protection for the add-on users’ privacy by limiting the scope of authorized information that an add-on can have access to, called the Google OAuth Scopes. The list of OAuth Scopes that this Add-on requests from the user is as follows. As you may notice, Google does not define an authorization scope that is completely fit to the purpose and required functions of this Add-on in their Google Sheets authorization scopes, so some of the scopes may seem broader than necessary. As a supplement to the Terms and Conditions, this is a legally binding statement that this Add-on will not process any authorized data in the manner not described in the below table:

The prefix ... for the scopes in the table stands for https://www.googleapis.com/auth

Scope Meaning How this Add-on uses this Scope
.../spreadsheets.currentonly View and manage spreadsheets that this application has been installed in Read the contents of the range selected by the user and update the adjacent range to show the DeepL-translated text.
.../script.external_request Connect to an external service. Send requests to the DeepL API

Source Code

Source code is available on GitHub. Please make requests for enhancements or reports of bugs via the GitHub issue. License regarding the use of the code is available on the GitHub repository.

See GitHub


The original icon of this add-on is the Document icons created by Freepik - Flaticon, modified by ttsukagoshi.