はじめに
DeepL の無料版を使っていると、1回あたり約5000文字という制限によく当たります。論文や長文テキストを翻訳したい場合、毎回分割してコピペするのはかなり不便です。
もちろん、有料プランに切り替えればこの問題は解決します。ただ、研究用途や個人利用では、翻訳のために継続的なコストをかけるのが難しい場面も少なくありません。できるだけ無料の範囲でどうにか工夫したい、という人も多いと思います。
この記事では、そうした方向けに DeepL API Free(無料版) という選択肢を紹介します。
DeepL API Free の要点
DeepL API Free のポイントはシンプルです。
- 月間 500,000文字まで無料
- Web版の「1回5000文字制限」とは別枠
- 公式に提供されている正規の利用方法
つまり、5000文字以上を一度に翻訳すること自体は問題ない、ということになります。
私は「5000文字ごとに分ける」作業そのものが面倒なので、全文をそのまま API に投げる使い方をしています。UI は自分で作る必要がありますが、その分、「一気に翻訳できる」という点に割り切れば十分に実用的だと感じています。
利用目的と利用規約について
DeepL API Free は、Web版の制限を回避することを目的とした手段ではなく、API を用いた翻訳処理や自動化を想定した 公式に提供されている別サービスです。利用にあたっては、必ず利用規約を遵守してください。大量翻訳や業務利用を行う場合には、DeepL の有料プラン(DeepL Pro / API Pro 等)の利用もご検討ください。
最小構成のスクリプト例
以下は、筆者が実際に使っている Python での最小構成です。
日本語↔英語を自動判定し、分割処理は行わず、ファイル入力を前提にしています。
APIキーの取得について
利用には DeepL API のキーが必要です。取得方法は 公式ページ を参照してください。
※ クレジットカード情報の登録が必要ですが、無料枠内での利用において自動的な引き落としは発生しない仕様のようです(詳細は後述)。
まず、deepl ライブラリをインストールします。
pip install deepl
次に、以下のようなスクリプトを書きます。
(この記事では Python での実装例を示します。)
import sys
import re
import argparse
import deepl
API_KEY = "YOUR_API_KEY"
client = deepl.DeepLClient(API_KEY)
def contains_japanese(text):
return bool(re.search(r"[ぁ-んァ-ン一-龥]", text))
def translate_auto(text):
target_lang = "EN-US" if contains_japanese(text) else "JA"
return client.translate_text(text, target_lang=target_lang).text
def main():
parser = argparse.ArgumentParser()
parser.add_argument("file", nargs="?")
args = parser.parse_args()
text = sys.stdin.read() if args.file is None else open(args.file).read()
print(translate_auto(text))
if __name__ == "__main__":
main()
使い方
元のテキストを paper_original.txt として保存し、翻訳結果を paper_translated.txt に出力します。
python translate_deepl.py paper_original.txt > paper_translated.txt
入力は paper_original.txt(日本語または英語)、出力は paper_translated.txt(自動判定で翻訳)です。
論文クラスの長文は、ターミナルに直接貼り付けるよりファイル入力の方が安定します。
DeepL API の技術仕様について
DeepL API は Python 以外にも複数の言語・環境に対応しています。詳細は公式ドキュメントを参照し、ご自身の環境で試してみてください。
デメリット・注意点
DeepL API Free は便利ですが、Web版の完全な代替ではありません。
APIを使うということは、翻訳処理を 自分でコードとして書く必要があるということでもあります。
Web版のようなUIは用意されていないため、入力方法や出力形式、ファイル管理などは自分で設計する必要があります。その分、用途に合わせて自由にカスタマイズできる反面、コーディングに慣れていない場合は、ややハードルが高く感じるかもしれません。
注意点・免責事項(2026年1月12日時点)
本記事は、DeepL が公式に提供している DeepL API Free の利用例を紹介するものであり、Web版無料サービスの制限回避を目的としたものではありません。
本記事の内容は、2026年1月12日時点で公開されている DeepL API Free の仕様に基づいています。
DeepL API Free の利用には クレジットカード情報の登録が必要ですが、無料枠を超えたからといって自動的に課金・引き落としが行われるわけではないようです。これは主に、不正利用や複数アカウント作成を防止するための措置だと考えられます。
ただし、今後の仕様変更や設定ミス等により費用が発生する可能性はあります。本記事は利用を保証・推奨するものではなく、費用やトラブルが発生した場合でも、著者は一切の責任を負いません。利用にあたっては、必ず最新の公式情報や料金ページ、アカウント設定を各自で確認してください。
まとめ
- 5000文字制限は Web版UIの制限
- 公式の DeepL API Free を使えば、5000文字以上を一度に翻訳できる
- 分割せず全文を投げる運用も可能
- その代わり、コーディングは必要で、UIは自分で用意する必要がある
- 仕様は今後変わる可能性があるため、最新情報の確認は必須
「5000文字ごとに分けて翻訳するのがつらい」し、正直お金にも余裕はない。
それでも 多少のコーディングは許容できるのであれば、DeepL API Free は十分に現実的な選択肢だと思います。