Punycode-Konverter
Aus dem Label münchen wird xn--mnchen-3ya, die ASCII-Form, die Domaineinträge, Zertifikate und ältere Systeme akzeptieren. Kodieren Sie jeweils ein Unicode-Label oder verwandeln Sie ein xn--Label zurück in lesbare Zeichen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- münchen
- Berechnungsmodus
- Encode
- Ergebnis
- xn--mnchen-3ya
- Unicode-Text
- münchen
- Punycode-Körper
- mnchen-3ya
Internationalisierte Domainnamen brauchen eine ASCII-kompatible Kodierung, damit DNS, Zertifikate und Legacy-Resolver Labels mit Umlauten, Akzenten, Kyrillisch, Arabisch oder CJK-Zeichen tragen können. Punycode (RFC 3492) ist der Bootstring-Algorithmus hinter dem vertrauten xn---Präfix in IDNA-A-Labels. Diese Fähigkeit kodiert ein einzelnes Unicode-Domainlabel in diese ACE-Form oder dekodiert einen ACE- oder rohen Punycode-Körper zurück zum ursprünglichen Unicode-U-Label, mit einem einfachen mode-Feld und deterministischer Integer-Arithmetik. Ungültige Alphabetzeichen, leere xn---Körper, alleinstehende Surrogate und Multi-Label-Strings mit Punkten werden mit einem klaren Fehler für ungültige Eingabe abgelehnt statt still korrumpiert.
Unicode-Domainlabel nach Punycode-ACE (xn--) kodieren
Die Engine setzt das Label locale-unabhängig in Kleinbuchstaben, lehnt leere Strings, Leerzeichen, Steuerzeichen und eingebettete Punkte ab, damit Sie nie versehentlich einen vollständigen Multi-Label-Hostnamen als ein DNS-Label behandeln. Reine ASCII-Labels gehen unverändert ohne xn---Präfix durch und entsprechen der IDNA-Praxis für LDH-Namen. Enthält das Label einen Nicht-ASCII-Codepunkt, führt die Engine den RFC-3492-Punycode-Encoder aus und stellt dem Ergebnis xn-- voran, um das A-Label für DNS-Zonendateien, Zertifikat-SANs und WHOIS-Anzeigen zu erzeugen.
Die Antwort enthält result (das ACE- oder ASCII-Label), unicode (das gefaltete U-Label), punycode (den Körper ohne xn---Präfix), ace wahr oder falsch, mode encode und method rfc3492, damit Tests jedes Feld festnageln können. Identische Eingaben erzeugen stets identische Ausgaben, weil der Pfad reine Arithmetik ohne Netzwerk, ohne Zufallssalz und ohne Wanduhr ist. Nutzen Sie diesen Pfad, wenn Sie ein paste-sicheres A-Label für eine Migrationscheckliste, eine Zonenzeile oder ein Support-Ticket brauchen, das Systeme überstehen muss, die nur ASCII-Hostnamen akzeptieren.
ACE oder Punycode nach Unicode dekodieren und ungültige Eingabe behandeln
Setzen Sie mode auf decode und legen Sie ein ACE-Label wie xn--mnchen-3ya oder einen rohen Punycode-Körper wie mnchen-3ya in text. Die Engine entfernt ein führendes xn---Präfix falls vorhanden, prüft, dass der Körper nur das Grundalphabet aus Buchstaben, Ziffern und internen Bindestrichen nutzt, und führt den RFC-3492-Decoder aus, um Unicode-Codepunkte zurückzugewinnen—einschließlich Zeichen der ergänzenden Ebenen, die in JavaScript-Strings mit Surrogatpaaren dargestellt werden. Erfolgreiches decode liefert result und unicode als U-Label, punycode als Körper, ace wahr wenn die Eingabe das xn---Präfix trug, mode decode und method rfc3492.
Bevorzugen Sie diese Fähigkeit, wenn Ihre Suchabsicht ein Punycode-Konverter für menschenlesbare Domainlabels ist; vollständige Hostname-Aufteilung, Public-Suffix-Lookup und Live-DNS-Auflösung gehören zu anderen Werkzeugen.
Einsatz bei Domains und praktische Grenzen
Rufen Sie den kostenlosen In-Browser-Punycode-Konverter für Support-Playbooks, Unterrichtsdemos und einmalige Label-Prüfungen auf, ohne OpenSSL oder Sprach-Runtimes zu installieren. Ein typischer Workflow kodiert ein Unicode-Markenlabel, bevor ein A-Label in eine Zonenvorlage geschrieben wird, und dekodiert dann ACE-Namen aus Mail-Headern oder Zertifikatslogs, damit Betreiber das beabsichtigte U-Label lesen. Ein anderer Workflow prüft vor einem Release, ob Dokumentationsbeispiele noch round-tripen.
DNS-Labels sind in der ACE-Form auf dreiundsechzig Oktette begrenzt, und diese Engine erzwingt dieses Limit beim encode, damit überlange internationale Labels früh scheitern statt nicht deploybare Strings zu erzeugen.
Anwendungsfälle
DNS-Zone und Zertifikatsvorbereitung
Kodieren Sie Unicode-Marken- oder Städtelabels zu xn---A-Labels, bevor Sie Zonendateien, ACME-SAN-Listen oder Reverse-Proxy-Hostregeln schreiben, die nur ASCII akzeptieren.
Lesbarkeit in Support und Protokollen
Dekodieren Sie ACE-Namen aus Mail-Headern, Certificate-Transparency-Logs und Ticketsystemen zurück zu lesbarem Unicode für Agenten und Kunden.
Häufige Fragen
Wie dekodiere ich ein xn---Label zurück nach Unicode?
Setzen Sie mode auf decode und legen Sie das ACE-Label (oder den rohen Punycode-Körper ohne xn--) in text. Das Feld result liefert das Unicode-U-Label, wenn die Kodierung gültig ist.
Was passiert bei einem ungültigen Punycode-Label?
Illegale Zeichen, leere xn---Körper, fehlgeschlagene Round-Trips, Punkte im String und leere Labels werden abgelehnt und nicht berechnet.
Kann ich einen vollständigen Hostnamen mit mehreren Labels umwandeln?
Nein. Diese Fähigkeit akzeptiert ein Label nach dem anderen und lehnt Punkte ab. Teilen Sie den Hostnamen und kodieren oder dekodieren Sie jedes Label separat für vorhersagbare DNS-große Ausgaben.
Warum bekommt ein reines ASCII-Label kein xn--?
Weil es keines braucht: Ein Label nur aus ASCII-Buchstaben, Ziffern und Bindestrichen bleibt unverändert, wie es bei internationalisierten Domainnamen üblich ist. Das Präfix erscheint erst, wenn mindestens ein Zeichen außerhalb von ASCII vorkommt.
Warum prüft das Werkzeug beim Dekodieren noch einmal nach?
Nach dem Dekodieren wird das Ergebnis erneut kodiert und muss exakt dem eingegebenen Label entsprechen. So fallen abgeschnittene oder von Hand veränderte Labels auf, statt plausibel aussehende, aber falsche Zeichen zu liefern.
Verwandte Tools
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/enc/punycode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"münchen"}'const res = await fetch("https://api.kit.forhosting.com/enc/punycode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "münchen"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/punycode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "münchen"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/punycode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"münchen"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"münchen"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/punycode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "münchen"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.punycode",
"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.
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. |
Technische Hinweise
Unicode-Domainlabel nach Punycode-ACE (xn--) kodieren
Senden Sie einen JSON-Körper mit dem Pflicht-Stringfeld text gleich einem Domainlabel in Unicode—zum Beispiel ein Städtename mit Umlaut, eine Marke in nativer Schrift oder ein japanisches Label—und lassen Sie mode beim Standard encode oder setzen Sie mode explizit auf encode.
ACE oder Punycode nach Unicode dekodieren und ungültige Eingabe behandeln
Nach dem Dekodieren kodiert sie erneut und verlangt einen exakten Round-Trip gegen den Körper, sodass gekürzte oder von Hand editierte ACE-Strings mit invalid_input geschlossen fehlschlagen statt plausible aber falsche Glyphen zu liefern. Leere Körper nach xn--, illegale Zeichen wie Satzzeichen, Nicht-ASCII-Text für decode, Multi-Label-Strings mit Punkten und Überlaufbedingungen lösen eine beschreibende invalid_input-Meldung aus und werden auf der Prepaid-API nicht berechnet.
API-Nutzung, Preise, DNS-Workflows und praktische Grenzen
Nutzen Sie die Prepaid-KIT-API, wenn ein Backend, Registrar-Panel, Zertifikatsautomatisierungsjob oder SDK denselben encode- oder decode-Schritt unter Guthaben zu $0.002 pro erfolgreichem Element braucht; fehlgeschlagene Validierung verbraucht nach Ablehnung durch die Engine nie Guthaben. Verarbeiten Sie jedes Label eines Multi-Label-Hostnamens separat—die API lehnt Punkte absichtlich ab, damit die SEO-Landing der Absicht der Einzellabel-Konvertierung entspricht. Autoren, die SDK ausliefern, können das result-Feld auf eine Kopier-Schaltfläche legen, während unicode, punycode und ace-Flags OpenAPI-Beispiele für Lesende, die IDNA zum ersten Mal lernen, selbsterklärend machen.
Integrationsbeispiele
Doku und CI-golden-Prüfungen
Nageln Sie encode- und decode-Fixtures fest, damit Dokumentationsbeispiele und Continuous-Integration-Tests schnell scheitern, falls Punycode- oder ACE-Präfixbehandlung driftet.
Technische Fragen
Wie wandle ich ein Unicode-Domainlabel in Punycode um?
Senden Sie JSON mit text gleich einem einzelnen Label (zum Beispiel münchen) und mode encode (oder lassen Sie mode weg). Das Feld result liefert die ACE-Form wie xn--mnchen-3ya.
Ist der Punycode-Konverter kostenlos?
Das Browser-Werkzeug läuft gratis auf Ihrem Gerät. API-Aufrufe nutzen Prepaid-KIT-Guthaben zu $0.002 pro erfolgreichem Element; Validierungsfehler werden nicht berechnet.