JavaScript minifizieren
KIT entfernt aus JavaScript-Code Leerzeichen, Zeilenumbrüche und Kommentare, ohne die Logik oder das Verhalten des Skripts zu verändern. Gedacht für kleinere Skripte, die ohne eigenen Build-Prozess direkt auf einer Website eingebunden werden, etwa ein Widget oder ein kurzes Formular-Skript. Das Ergebnis lässt sich sofort einsetzen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Was die Minifizierung an JavaScript-Code ändert
Sie fügen den JavaScript-Code ein, KIT entfernt Leerzeichen, Zeilenumbrüche, Einrückung und Kommentare, achtet dabei aber genau auf Zeichenketten und reguläre Ausdrücke, damit deren Inhalt unangetastet bleibt und kein Text versehentlich als Kommentar missverstanden wird. Funktionsnamen, Variablennamen und die eigentliche Logik bleiben vollständig erhalten; es ändert sich ausschließlich, wie kompakt der Code am Ende geschrieben ist, das Verhalten im Browser bleibt identisch.
Was diese Funktion bewusst nicht macht
Variablennamen werden nicht gekürzt und tote Codezweige nicht entfernt, denn beides erfordert eine tiefere Analyse des gesamten Skripts und birgt bei komplexem Code ein reales Risiko für unbeabsichtigte Fehler, etwa bei dynamisch erzeugten Eigenschaftsnamen. Für ein einzelnes eingebundenes Skript reicht das Entfernen von Leerraum in aller Regel aus; für ein großes Frontend-Projekt mit vielen Modulen lohnt sich zusätzlich ein Build-Tool mit eigenem Variablen-Mangling.
Wann sich das für ein Projekt lohnt
Besonders auf statischen Websites ohne Build-Pipeline, bei kleinen eingebetteten Widgets oder bei einem einzelnen Skript, das direkt im HTML-Kopf eingebunden wird, macht sich die kleinere Dateigröße unmittelbar bei der Ladezeit bemerkbar, ohne dass dafür ein aufwendiges Werkzeug eingerichtet werden muss. Für ein umfangreiches Frontend-Projekt mit vielen Modulen und einer bestehenden Build-Pipeline ist ein dedizierter Bundler dagegen meist die passendere Wahl, mit eigenem Variablen-Mangling und Tree-Shaking.
Direkt im Browser oder automatisiert per API
Die Minifizierung läuft im Browser kostenlos und ohne Limit, ohne dass der Code übertragen wird. Über die API lässt sich derselbe Schritt automatisieren, etwa als letzter Schritt eines einfachen Veröffentlichungsablaufs für ein Skript, das bewusst ohne eigene Build-Pipeline gepflegt wird, mit einem vorab feststehenden Preis pro Anfrage und ohne dass jemand den Ablauf manuell anstoßen oder überwachen muss, auch bei mehreren Skripten hintereinander.
Anwendungsfälle
Widget-Skript für eine Landingpage
Jonas Weber minifiziert ein kleines Kontaktformular-Skript, bevor er es direkt in den HTML-Kopf einer Landingpage einbindet.
Kundenprojekt ohne Build-Tool
Schneider IT-Systeme GmbH & Co. KG minifiziert das JavaScript einer Kundenwebsite manuell, weil das Projekt bewusst ohne eigenen Build-Prozess auskommt.
Eingebettetes Widget im eigenen Blog
Katrin Baumann minifiziert das Skript eines selbst geschriebenen Kommentar-Widgets, bevor sie es in ihren Blog einbindet.
Häufige Fragen
Was kostet das Minifizieren einer JavaScript-Datei?
Im Browser: kostenlos und ohne Limit. Per API: $0.002 pro Anfrage – der Preis steht vorab fest.
Werden meine Variablennamen dabei gekürzt?
Nein, es werden nur Leerzeichen, Zeilenumbrüche und Kommentare entfernt. Für aggressives Variablen-Mangling eignet sich eher ein Build-Tool im Entwicklungsprozess.
Funktioniert das auch mit modernem JavaScript und Modulen?
Ja, gängige moderne Syntax wird unterstützt. Testen Sie das Ergebnis dennoch vor dem produktiven Einsatz, besonders bei ungewöhnlichen Konstrukten.
Verlässt mein Code dabei den Browser?
Im Browser bleibt Ihr Code auf Ihrem Gerät: Die Minifizierung läuft vollständig lokal, ohne dass etwas übertragen wird.
Wie groß darf die Datei sein?
Bis zu 25 MB.
Brauche ich ein Konto?
Nein. Es gibt keine Konten und keine Anmeldung – nur bei der API-Nutzung zahlen Sie, und zwar pro Anfrage.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/data/js-minify \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/js-minify", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/js-minify",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/js-minify", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/js-minify", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"input": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.js_minify",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |