Code-Beautifier - 26 Sprachen im Browser formatieren, nichts upgeloadet
Du hast Quellcode aus einem Minifier gepastet und er ist eine einzelne Zeile, die ueber den Bildschirm zieht. Oder du hast einen Prettifier aus einer Doku-Seite kopiert und er nutzt Tabs statt der Spaces, die dein Projekt braucht. Oder es ist Code von einem Kollegen, der "keinen Formatter nutzt" und seine eigene Indent-Philosophie hat.
Der Code-Beautifier macht, was VS Codes "Format Document"-Button macht: nimmt haesslichen, gequetschten oder unsauberen Quellcode und gibt ihn schoen formatiert zurueck, mit Syntax-Highlighting rechts.
Er unterstuetzt 26 Sprachen, und 21 davon kriegen echte Formatter - kein blosser Indent-Fix, sondern voller Reformat. JavaScript, TypeScript, JSX, TSX, HTML, CSS, SCSS, LESS, JSON, YAML, Markdown und GraphQL laufen durch Prettier 3+. C/C++/Java/C#: das originale **clang-format** zu WebAssembly compilt - gleiche Engine wie VS Code. Go: das kanonische gofmt, in WASM. Python: **Ruff** (Black-kompatibel, gleiche Engine wie `ruff format` im Terminal). Bash: shfmt in WASM. PHP: **Mago** in WASM. SQL: sql-formatter (UPPERCASE-Keywords, sauber gebrochene JOINs). XML: xml-formatter, respektiert DOM-Struktur. Nur Rust, Kotlin, Swift und Ruby bleiben beim kosmetischen Pass.
Drei Modi fuer drei Beduerfnisse: Gentle nutzt Prettier und bricht Zeilen nur, wenn sie deine Breite ueberschreiten (100 per Default). Aggressive nutzt js-beautify fuer JS/HTML/CSS - jedes Statement eigene Zeile, gechainte Methoden auseinander, alles expandiert. Cosmetic-only ist unsere eigene Implementation - tauscht Tabs <-> Spaces, normalisiert Indent-Breite, trimmt Trailing-Whitespace, normalisiert CRLF -> LF.
Alles laeuft lokal im Browser. Der Code verlaesst die Maschine nie - kein Upload, keine Telemetrie, keine Server-Logs.
So nutzt du das Tool
- Sprache waehlen oben links im Dropdown, oder auf Auto lassen - highlight.js raet bei jedem Input-Change. Auto erkennt die 26 unterstuetzten Sprachen.
- Modus waehlen: Gentle (Default, bricht nur ueberlange Zeilen), Aggressive (alles eigene Zeile - nur JS/HTML/CSS), Cosmetic-only (Indent + Spaces trimmen, ueberall).
- Code pasten links, oder "Upload file" klicken - bis 5 MB. Alle gaengigen Extensions (.js, .py, .go, .rs, .java, ...).
- Druck Format. Erster Klick dauert kurz - die Libraries (Prettier, Shiki, highlight.js, js-beautify) laden on-demand. Folgende Klicks sind sofort.
- Rechts kriegst du eine Syntax-highlighted Vorschau (via Shiki - gleiche TextMate-Grammars wie VS Code). Kopieren, Datei runterladen oder In neuem Tab oeffnen.
- Es gibt ein Zahnrad (Settings): Indent-Breite (Tab/2/4 Spaces), Max-Zeilenlaenge (80/100/120), Quotes (single/double), Semicolons (an/aus), Trailing-Commas (all/es5/none).
- Die meisten Sprachen kriegen jetzt einen vollen Reformat im Browser: C/C++/Java/C# via clang-format, Go via gofmt, Python via Ruff, Bash via shfmt, PHP via Mago. Volle Formatter lazy-loaden beim ersten Klick (~80-300 kB WASM, danach gecached). Rust, Kotlin, Swift, Ruby kriegen das gelbe Info-Banner und Cosmetic-only.
- Hat dein Code einen Syntax-Fehler (z.B. nicht-geschlossene Klammer), zeigt das rechte Panel die exakte Fehlermeldung mit Zeile und Spalte.
Wann das nuetzlich ist
Sechs Situationen, in denen der Code-Formatter Handarbeit spart:
- Minified Production-Datei lesbar machen. Du hast DevTools offen, `app.min.js` gefunden, eine Zeile meilenlang. Paste, Aggressive, du kriegst lesbaren Quellcode - nicht das Original (Variablen bleiben `_a`, `_b`), aber die Struktur ist sichtbar.
- Kollegen-PR aufraeumen. Code "funktioniert", aber 6-Space-Indents, Tabs mit Spaces gemischt, 4 Leerzeilen zwischen Funktionen. Gentle + 2 Spaces + Prettier = Code-Review schreit nicht mehr ueber Whitespace.
- Tabs zu Spaces umstellen (oder zurueck). Deine `.editorconfig` sagt 2 Spaces, aber der Praktikant nutzt Tabs. Cosmetic-only + 2 Spaces macht die Konvertierung in einem Klick, ohne Struktur anzufassen.
- JSON oder YAML pruefen. Du hast GitHub Actions YAML gepastet und CI schreit. Paste, Gentle, Prettier gibt den Fehler mit Zeile und Spalte. Schneller als YAML-Spec lesen.
- Beautifier fuer Code aus einem PDF. Du hast ein Beispiel aus einem Doku-PDF abgeschrieben und Pasten hat Indent verloren. Paste, Gentle, Prettier rekonstruiert Struktur aus Semikolons und Klammern.
- CRLF -> LF auf Windows. Eine Windows-Datei auf Mac/Linux geoeffnet hat `^M` am Zeilenende, git noergelt. Cosmetic-only normalisiert auf LF.