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.
Prerequisite: Sign up for the DeepL API
See the following official documentations of DeepL for more details:
- DeepL API Free vs. DeepL API Pro – DeepL Help Center
- DeepL API Free – DeepL Help Center
- Authentication Key – DeepL Help Center
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.
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.
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.
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
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:
... for the scopes in the table stands for
|Scope||Meaning||How this Add-on uses this Scope|
||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.|
||Connect to an external service.||Send requests to the DeepL API|
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.