JavaScriptsTexteffekte

Leetspeak-Wandler

Übersetzt Text in die Zahlenschreibweise der frühen Netzkultur — in drei Stufen von gut lesbar bis vollkommen kryptisch.

Leetspeak — geschrieben 1337 5p34k, gesprochen „liit spiik" — entstand in den achtziger Jahren in Mailboxnetzen und frühen Foren. Buchstaben werden dabei durch Ziffern und Sonderzeichen ersetzt, die ihnen ähnlich sehen: Das A wird zur 4, das E zur 3, das O zur Null. Der Name kommt von „elite": Wer so schrieb, gehörte dazu — und ganz nebenbei rutschte man an Wortfiltern vorbei, die nach dem normal geschriebenen Wort suchten.

Das Script bietet drei Stufen an. Leicht ersetzt nur die sechs geläufigen Buchstaben und bleibt gut lesbar. Mittel nimmt weitere Ziffern dazu. Hart setzt Buchstaben aus mehreren Zeichen zusammen — aus dem H wird |-|, aus dem M wird /\\/\\ —, und das Ergebnis ist für Uneingeweihte kaum noch zu entziffern. Der Rückweg funktioniert für die leichte und mittlere Stufe zuverlässig; bei der harten Stufe ist er naturgemäß eine Rateübung, weshalb das Script ihn dort gar nicht erst anbietet.

Heute ist Leetspeak vor allem ein Stück Netzgeschichte, das in Spielernamen und Logos weiterlebt. Ein ernst zu nehmender Schutz war es nie: Weil die Ersetzungen fest sind, macht jedes Programm sie in einer Zeile rückgängig — genau wie dieses. Und wer sein Passwort für sicherer hält, weil er P4ssw0rt statt „Passwort" schreibt, irrt sich: Diese Ersetzungen stehen in jeder Angriffsliste, wie euch der Passwort-Stärke-Prüfer vorrechnet.

Andere Textverwandlungen findet ihr nebenan: Text auf dem Kopf dreht die Zeichen um, Namen rückwärts gelesen kehrt die Reihenfolge um, und Morsecode ersetzt Buchstaben durch Punkte und Striche. Wer die Ersetzung als Verschlüsselung ernst meint, ist bei Atbash besser aufgehoben.

Texteffekte Baujahr 2026 läuft in deinem Browser

Der Rückweg funktioniert nur für die Stufen leicht und mittel — die harte Stufe lässt sich nicht eindeutig umkehren.

Script von kostenlose-javascripts.de

So funktioniert das Script

Das Script zeigt ein Muster, das in der Programmierung ständig vorkommt: eine Zuordnungstabelle — ein Objekt, das für jeden Schlüssel einen Wert kennt — und eine Schleife, die den Text damit durchgeht. Das Interessante ist, was beim Umkehren einer solchen Tabelle schiefgehen kann.

const tabellen = {
  leicht: { a: "4", e: "3", i: "1", o: "0", s: "5", t: "7" },
  …
};

Statt einer langen Kette aus if-Abfragen oder aneinandergereihten replace-Aufrufen steht die ganze Zuordnung als Datenstruktur da. Das hat drei Vorteile: Man sieht sie auf einen Blick, man kann sie erweitern, ohne die Logik anzufassen, und die drei Stufen sind einfach drei Einträge im selben Objekt — der Code darunter ist für alle derselbe.

const ersatz = tabelle[zeichen.toLowerCase()];
ergebnis += ersatz === undefined ? zeichen : ersatz;

Das Nachschlagen in einem Objekt geschieht mit eckigen Klammern, wenn der Schlüssel in einer Variablen steht. Steht der Buchstabe nicht in der Tabelle — etwa ein Leerzeichen oder ein Ausrufezeichen —, liefert der Zugriff undefined, den Wert für „gibt es nicht". Genau darauf wird geprüft, und in diesem Fall wandert das Zeichen unverändert ins Ergebnis. Der Vergleich mit === undefined ist hier bewusst gewählt: Eine kürzere Prüfung wie if (!ersatz) würde eine Ersetzung durch "0" fälschlich als „nicht vorhanden" behandeln, weil die Null in JavaScript als unwahr gilt.

Object.keys(tabelle).forEach(function (buchstabe) {
  if (umgekehrt[tabelle[buchstabe]] === undefined) {
    umgekehrt[tabelle[buchstabe]] = buchstabe;
  }
});

Object.keys liefert alle Schlüssel eines Objekts als Array — hier also die Buchstaben. Die Schleife baut daraus die umgekehrte Tabelle: Was vorher Wert war, wird Schlüssel und umgekehrt. Und hier steckt die Falle: In der mittleren Stufe werden sowohl das i als auch das l zur 1. Beim Umkehren kann die 1 aber nur auf einen der beiden zeigen. Die Abfrage sorgt dafür, dass der erste Eintrag gewinnt — aus 1337 wird also „ieet" und nicht „leet". Solche Mehrdeutigkeiten sind der Grund, warum sich die harte Stufe gar nicht erst umkehren lässt.

m: "/\\/\\",

Ein Detail, über das jeder einmal stolpert: Der Rückwärtsschrägstrich hat in JavaScript-Zeichenketten eine Sonderbedeutung — er leitet Steuerzeichen ein, etwa \n für einen Zeilenumbruch. Will man ihn selbst schreiben, muss man ihn verdoppeln. "/\\/\\" ergibt darum die vier Zeichen /\/\, die das M nachbilden.

Zum Anpassen: Die Tabellen dürft ihr beliebig erweitern — eine eigene Stufe ist ein weiterer Eintrag in tabellen plus eine Zeile im Auswahlfeld. Wollt ihr, dass nicht jedes Vorkommen ersetzt wird, sondern nur jedes zweite, führt ihr einen Zähler mit und prüft i % 2; das Ergebnis wirkt dann weniger maschinell.

Script für die eigene Homepage

Kopiert euch den kompletten Code und fügt ihn an der Stelle eurer Seite ein, an der das Script erscheinen soll. Er läuft ohne weitere Dateien und ohne fremde Server.

Mehr aus der Kategorie Texteffekte