本文へスキップ
Case Converter Online
ja

ROT13 エンコード・デコード

テキストを入力すると ROT13 で変換され、ROT13 のテキストを貼り付けると元に戻ります。エンコードもデコードも同じ操作です。数字や記号も含めたい場合は ROT18 や ROT47 に切り替えられます。

ROT13 はもう一度かけると元に戻るので、同じ操作でエンコードもデコードもできます。

ROT13 とは

ROT13 は「rotate by 13 places(13文字ずらす)」の略です。各アルファベットを、アルファベット順で13文字先の文字に置き換えます。A は N に、B は O になり、N は先頭に戻って A になります。大文字は大文字のまま残り、アルファベット以外の文字はそのままです。

アルファベットは26文字なので、13文字ずらす処理を2回行うと元に戻ります。つまり ROT13 は、同じ操作でエンコードもデコードもできます。「どちら向きに変換するか」を気にする必要がありません。

ROT13 は1980年代に Usenet のニュースグループで、ネタバレ、ジョークのオチ、クイズの答えを隠すための礼儀として広まりました。読みたい人は1回の操作で元に戻せます。今でも掲示板、ジオキャッシングのヒント、プログラミングの練習問題などで使われています。

ツールの使い方

  1. 左側の「テキスト」欄に入力するか貼り付けます。右側の「ROT13 テキスト」欄に ROT13 で変換した結果が表示されます。
  2. 変換済みのメッセージを読むには、「ROT13 テキスト」欄に貼り付けます。左側に元のテキストが表示されます。
  3. 別のずらし方が必要な場合は、「方式」から選びます。
    • ROT13:アルファベットのみ
    • ROT18:アルファベットと数字
    • ROT47:表示可能な ASCII 文字すべて
  4. どちらかの欄の上にある「コピー」でテキストをコピーし、「クリア」で両方の欄を空にします。

変換例

以下は、このページで各方式を実際に実行した結果です。

テキスト ROT13 ROT18 ROT47
Hello, World! Uryyb, Jbeyq! Uryyb, Jbeyq! w6==@[ (@C=5P
Room 42 Ebbz 42 Ebbz 97 #@@> ca
Code 2026 Pbqr 2026 Pbqr 7571 r@56 a_ae
Gate 7 opens Tngr 7 bcraf Tngr 2 bcraf v2E6 f @A6?D
To get to the other side! Gb trg gb gur bgure fvqr! Gb trg gb gur bgure fvqr! %@ 86E E@ E96 @E96C D:56P

ROT13 の対応表全体は次のとおりです。上が元の文字、下が ROT13 での対応する文字です。

abcdefghijklmnopqrstuvwxyz
nopqrstuvwxyzabcdefghijklm

前半の13文字が後半に、後半の13文字が前半に対応します。a は n に、n は a に、z は m になります。

3つの方式

ROT13 は、A から Z と a から z だけを13文字ずらします。数字、スペース、句読点、アクセント付きの文字は変わりません。昔からある方式で、単に ROT13 と言えばこれを指します。

ROT18 は、アルファベットに ROT13 を、数字に ROT5 をかけたものです。数字はそれぞれ5つずれるので、0 は 5 に、1 は 6 に、9 は 4 になります。これも同じ操作で元に戻ります。

ROT47 は、! から ~ までの表示可能な94種類の ASCII 文字を対象にします。アルファベット、数字、一般的な記号がすべて含まれます。各文字は47個ずれます。47 は 94 の半分なので、ROT47 も同じ操作で元に戻ります。出力はテキストらしさがかなり薄れるのが利点ですが、チャットアプリが書式として扱うバッククォートや縦線などの文字が含まれることがあります。

スペースや、絵文字・アクセント付きの文字のようにこれらの範囲の外にある文字は、どの方式でもそのまま残ります。

制限

ROT13 は、ずらす数が13のシーザー暗号の特別な形です。安全性はまったくありません。鍵がなく、短い ROT13 の単語なら見ただけで読める人も大勢います。ネタバレをちらっと見られないようにする程度の用途に使い、パスワードや個人的なメッセージを守るためには使わないでください。

また、英語以外の文字には何の効果もありません。ギリシャ文字、キリル文字、アラビア文字は変わらずに通過します。ひらがな、カタカナ、漢字も同じで、たとえば Hello こんにちは は Uryyb こんにちは になります。全角のアルファベット(ABC など)も変換されないので、ROT13 をかけたい英字は半角で入力してください。

そのほかの ROT13 変換方法

Linux、macOS、Git Bash では、tr コマンドを使えば1行で ROT13 をかけられます。

echo 'Hello, World!' | tr 'A-Za-z' 'N-ZA-Mn-za-m'

これで Uryyb, Jbeyq! と表示されます。出力に同じコマンドをもう一度かけると、元に戻ります。

Python では、標準ライブラリに ROT13 が組み込まれています。

import codecs
codecs.encode('Hello, World!', 'rot13')

こちらも Uryyb, Jbeyq! を返します。

Vim では、テキストを選択して g? を押すと ROT13 がかかります。メニューに ROT13 のコマンドがあるメールソフトやテキストエディタもあります。

表計算ソフトでは、1文字ずつ CODE、MOD、CHAR で処理する必要があり、準備に手間がかかります。ここにテキストを貼り付ける方が簡単です。

関連ツール

13以外のずらし方には、未知のずらし幅の解読もできるシーザー暗号ツールを使ってください。アルファベットを数字に変えるなら A1Z26 暗号が使えます。隠すためではなく、メールやURLで壊れないようにテキストを変換したい場合は Base64 を使ってください。

ROT13 変換のよくある質問

ROT13 をデコードするには?

ROT13 のテキストを右側の欄に貼り付けてください。左側に読めるテキストが表示されます。ROT13 は2回かけると元に戻るので、左側の欄に貼り付けても同じように読めます。

ROT13 で数字が変わらないのはなぜですか?

ROT13 がずらすのは、英語のアルファベット26文字だけだからです。数字もずらしたい場合は、0 から 9 を5つずらす処理を加えた ROT18 を選んでください。ROT47 はさらに範囲が広く、記号を含む表示可能な ASCII 文字すべてをずらします。

ROT13 は暗号化ですか?

いいえ。鍵がなく、誰でもすぐに元に戻せます。ネタバレやクイズの答えのように、うっかり目に入るのを防ぐためのもので、秘密を守るためのものではありません。

Uryyb とはどういう意味ですか?

Uryyb は ROT13 で変換した Hello です。H は U に、e は r に、l はそれぞれ y になります。Hello, World! が Uryyb, Jbeyq! になるので、手軽な例としてよく使われます。

その他のコード・データツール

すべてのツールを見る