Text in fester Breite zentrieren
Text in einer Breite zentrieren formatiert jede Zeile einzeln innerhalb der von Ihnen gewählten Spaltenbreite.
Im Browser ausführen – kostenlos
Das Werkzeug fügt links und rechts normale Leerzeichen ein, erhält Leerzeilen und liefert einen rechteckigen Textblock, den Sie leicht in Banner, Terminals, README-Dateien, Berichte oder andere nichtproportionale Layouts kopieren können. Ist eine ungerade Zahl von Leerzeichen erforderlich, kommt das zusätzliche Leerzeichen nach rechts. Der Inhalt wird weder gekürzt noch umgeschrieben. Ist die gewählte Breite kleiner als die längste Zeile, erhalten Sie eine eindeutige Eingabefehlermeldung.
Wählen Sie eine Breite, in die jede Zeile passt
Geben Sie den Text zunächst genau so ein, wie er erscheinen soll. Dazu gehören bewusst gesetzte Leerzeilen und alle Leerzeichen, die bereits zum Inhalt gehören. Legen Sie anschließend die gesamte Zeichenbreite jeder Ausgabezeile fest. Sie muss mindestens der längsten Eingabezeile entsprechen, denn das Werkzeug fügt ausschließlich Leerzeichen hinzu: Es führt keinen Zeilenumbruch durch, kürzt nichts, schneidet nichts ab und ersetzt keinen Text. Eine deutlich größere Breite erzeugt sichtbare Ränder; entspricht die Breite genau der längsten Zeile, bleibt diese Zeile unverändert. Gezählt werden Unicode-Codepoints. Daher gilt ein Emoji oder ein anderes ergänzendes Zeichen als ein Zeichen und nicht als zwei UTF-16-Einheiten. Die sichtbare Breite hängt dennoch von Schriftart und Terminal ab: Tabulatoren, kombinierende Zeichen und breite ostasiatische Glyphen können anders viel Platz belegen. Für berechenbare Banner verwenden Sie eine nichtproportionale Schrift, ersetzen Tabulatoren vorher durch Leerzeichen und stimmen die Breite auf die Zielspalte ab. Passt eine Zeile nicht, erhöhen Sie die Breite oder bearbeiten Sie den Ausgangstext bewusst, statt auf unsichtbares Abschneiden zu vertrauen.
So wird der Abstand auf beide Seiten verteilt
Für jede Eingabezeile erfolgt eine eigene Berechnung. Das Werkzeug zieht die Zeichenlänge der jeweiligen Zeile von der gewünschten Breite ab, setzt die Hälfte der verfügbaren Leerzeichen nach links und den Rest nach rechts. Bei einer geraden Anzahl sind beide Seiten gleich. Bei einer ungeraden Anzahl erhält die rechte Seite das einzelne zusätzliche Leerzeichen. Diese feste Regel macht wiederholte Ausführungen deterministisch und hält Zeilen ohne willkürliche Verschiebungen ausgerichtet. Bereits vorhandene Zeichen, einschließlich führender und nachgestellter Leerzeichen, zählen zur Zeilenlänge und bleiben unverändert. Zeilenenden aus Windows, macOS und Unix werden erkannt; der zurückgegebene Block verwendet zwischen den Zeilen einen einheitlichen Zeilenumbruch. Leerzeilen bleiben erhalten und werden zu vollständig mit Leerzeichen gefüllten Zeilen. Das ist für eingerahmte Hinweise und bewusst getrennte Überschriften nützlich. Weil jede Ergebniszeile genau die gewählte Breite erreicht, können Sie den Block in ASCII-Rahmen einsetzen, in Quellcodekommentare kopieren oder mit anderen Inhalten fester Breite kombinieren, ohne jeden Rand einzeln auszurechnen.
Verwenden Sie das Ergebnis in Klartextlayouts
Prüfen Sie die ausgegebenen Zeilen, bevor Sie sie am endgültigen Ziel einfügen, besonders wenn dieses Ziel Leerraum zusammenfasst. Klartextdateien, Codeblöcke, Terminalausgaben und vorformatierte E-Mail-Abschnitte bewahren die Auffüllung normalerweise. Gewöhnliche HTML-Absätze und viele Rich-Text-Editoren können dagegen aufeinanderfolgende Leerzeichen reduzieren. Verwenden Sie dort einen vorformatierten Block oder einen anderen Container, der Leerraum erhält. Das Ergebnis enthält sowohl einen zusammengefügten Textwert als auch eine Liste einzelner Zeilen. Eine Integration kann daher den ganzen Block kopieren oder die Zeilen getrennt verarbeiten. Außerdem werden die gewählte Breite und die Zeilenanzahl ausgegeben, sodass ein Skript das Layout kontrollieren kann. Der Vorgang ist deterministisch und auf Ihren Text beschränkt: Er kontaktiert keinen Netzwerkdienst, erzeugt keine Zufallswerte und fügt keinen Zeitstempel hinzu. Der angezeigte Grundpreis beträgt $0.002, wenn die Fähigkeit über einen kostenpflichtigen Kanal ausgeführt wird; eine geeignete Browserausführung verwendet dieselbe reine Umwandlung. Korrigieren Sie eine zu kleine Breite oder einen falschen Feldtyp und starten Sie danach erneut.
Anwendungsfälle
Banner für Konsole und Terminal
Zentrieren Sie Titel, Statusmeldungen oder Abschnittsüberschriften in einer bekannten Panelbreite, bevor Sie Rahmen oder weitere Ausgaben ergänzen.
README-Überschriften und Codeblöcke
Erstellen Sie ausgewogene Titel für Markdown-Blöcke, Quellcodekommentare, Änderungsprotokolle und Dokumentation mit erhaltenem Leerraum.
Berichte mit fester Breite
Richten Sie mehrzeilige Bezeichnungen oder Deckblatttext in einer einheitlichen Spalte für Berichte, Tickets, Belege und Klartextvorlagen aus.
Häufige Fragen
Was geschieht, wenn sich die Auffüllung nicht gleichmäßig teilen lässt?
Die linke Seite erhält die kleinere Hälfte und die rechte das zusätzliche Leerzeichen. Diese Regel gilt stabil für jede Zeile.
Bricht das Werkzeug Zeilen um, die breiter als der Zielwert sind?
Nein. Ist die Breite kleiner als die längste Zeile, wird ein Eingabefehler gemeldet, damit nichts unbemerkt verändert oder verloren geht.
Bleiben Leerzeilen erhalten?
Ja. Jede leere Eingabezeile wird zu einer Zeile mit genau der gewünschten Anzahl an Leerzeichen.
Sind die Leerzeichen nach dem Einfügen weiterhin sichtbar?
In Klartext bleiben sie erhalten. Manche HTML-Umgebungen und Rich-Text-Editoren reduzieren sie; verwenden Sie dort vorformatierten Inhalt.
Bleiben bereits vorhandene führende und nachgestellte Leerzeichen bestehen?
Ja. Sie gelten als Bestandteil der Zeile; ergänzt werden nur die Leerzeichen, die zum Erreichen der gewählten Breite fehlen.
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/str/center-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"QUARTERLY REPORT\nRevenue overview","width":24}'const res = await fetch("https://api.kit.forhosting.com/str/center-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "QUARTERLY REPORT\nRevenue overview",
"width": 24
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/center-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "QUARTERLY REPORT\nRevenue overview",
"width": 24
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/center-text", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"QUARTERLY REPORT\\nRevenue overview","width":24}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"QUARTERLY REPORT\nRevenue overview","width":24}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/center-text", 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": "QUARTERLY REPORT\nRevenue overview",
"width": 24
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.center_text",
"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. |