Ce qu’est le ROT13
ROT13 signifie « rotation de 13 rangs ». Chaque lettre est remplacée par la lettre située 13 rangs plus loin dans l’alphabet. A devient N, B devient O, et N revient à A. Les majuscules restent des majuscules, et tout ce qui n’est pas une lettre reste à sa place.
Comme l’alphabet compte 26 lettres, tourner deux fois de 13 ramène au point de départ. Le ROT13 est donc son propre inverse : la même opération encode et décode. Pas besoin de se demander dans quel sens aller.
Le ROT13 est devenu populaire sur les forums Usenet dans les années 1980, comme manière polie de cacher spoilers, chutes de blagues et réponses d’énigmes. Les lecteurs qui voulaient les voir pouvaient les décoder en une étape. On l’utilise encore sur des forums, dans les indices de géocaching et dans les exercices de programmation.
Comment utiliser l’outil
- Tapez ou collez un texte dans Texte à gauche. La version ROT13 apparaît dans Texte ROT13 à droite.
- Pour lire un message brouillé, collez-le dans Texte ROT13. La version claire apparaît à gauche.
- Choisissez une autre rotation dans Variante si besoin :
- ROT13 : lettres seulement
- ROT18 : lettres et chiffres
- ROT47 : tout l’ASCII visible
- Appuyez sur Copier au-dessus de l’une ou l’autre zone pour la copier, ou sur Effacer pour vider les deux.
Exemples
Ces résultats viennent de l’exécution de chaque variante sur cette page.
| Texte | 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 |
| Rdv 20h | Eqi 20u | Eqi 75u | #5G a_9 |
L’alphabet ROT13 complet ressemble à ceci, les lettres claires en haut et leurs partenaires ROT13 en dessous :
abcdefghijklmnopqrstuvwxyz
nopqrstuvwxyzabcdefghijklm
La première moitié correspond à la seconde, et la seconde revient à la première : a vers n, n vers a, z vers m.
Les trois variantes
ROT13 fait tourner uniquement A à Z et a à z de 13 rangs. Les chiffres, les espaces, la ponctuation et les lettres accentuées ne sont pas touchés. C’est la version classique, celle à laquelle on pense par défaut.
ROT18 est le ROT13 pour les lettres plus le ROT5 pour les chiffres. Chaque chiffre avance de 5 rangs : 0 devient 5, 1 devient 6 et 9 devient 4. Lui aussi s’annule de lui-même.
ROT47 fonctionne sur les 94 caractères ASCII visibles, de ! à ~, ce qui couvre les lettres, les chiffres et les symboles courants. Chacun avance de 47 rangs. Comme 47 est la moitié de 94, le ROT47 s’annule aussi de lui-même. Le résultat ressemble beaucoup moins à du texte, c’est tout l’intérêt, mais il peut contenir des caractères comme l’accent grave ou la barre verticale que certaines messageries traitent comme de la mise en forme.
Les espaces et les caractères hors de ces plages, comme les emoji et les lettres accentuées, ne sont modifiés par aucune variante.
ROT13 et texte français
Les lettres accentuées ne tournent pas. « Bonjour Léa » devient « Obawbhe Yén » : le é reste en clair au milieu du texte brouillé, et le ç de « Ça va » aussi (« Çn in »). Pour un spoiler en français, cela laisse quelques indices visibles. Si vous voulez un texte entièrement brouillé, retirez d’abord les accents, par exemple avec le convertisseur en texte brut et son option qui retire les accents.
Limites
Le ROT13 est un cas particulier du chiffre de César avec un décalage de 13. Il n’offre aucune sécurité. Il n’y a pas de clé, et beaucoup de gens lisent les mots courts en ROT13 à l’œil nu. Utilisez-le pour cacher un spoiler d’un coup d’œil, jamais pour protéger un mot de passe ou un message privé.
Il ne fait rien non plus pour les alphabets non latins. Un texte grec, cyrillique ou arabe passe sans changement.
Autres façons d’appliquer le ROT13
Sous Linux, macOS ou Git Bash, la commande tr fait le ROT13 en une ligne :
echo 'Hello, World!' | tr 'A-Za-z' 'N-ZA-Mn-za-m'
Elle affiche Uryyb, Jbeyq!. Repassez le résultat dans la même commande pour retrouver l’original.
Python intègre le ROT13 dans sa bibliothèque standard :
import codecs
codecs.encode('Hello, World!', 'rot13')
Cela renvoie aussi Uryyb, Jbeyq!.
Dans Vim, sélectionnez un texte et appuyez sur g? pour le passer en ROT13. Certains clients e-mail et éditeurs de texte proposent aussi une commande ROT13 dans leurs menus.
Dans un tableur, il faudrait traiter chaque caractère avec CODE, MOD et CAR, ce qui est long à mettre en place. Coller le texte ici est plus simple.
Outils associés
Pour n’importe quel autre décalage, utilisez l’outil du chiffre de César, qui casse aussi les décalages inconnus. Pour transformer les lettres en nombres, utilisez le chiffre A1Z26. Pour encoder un texte afin qu’il passe dans les e-mails et les URL, plutôt que pour le cacher, utilisez le Base64.