Zeilennummern hinzufügen
Setzen Sie vor jede Zeile von Code, Logs, Liedtexten oder Notizen eine Nummer: Aus alpha, beta und gamma werden 1. alpha, 2. beta und 3. gamma. Mit eigenem Trenner oder eigener Startnummer setzen Sie eine Liste fort. 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
- alpha beta gamma
- Eingabe
- alpha beta gamma
- Trennzeichen
- .
- Startwert
- 1
- Zeilenanzahl
- 3
Ein Werkzeug zum Hinzufügen von Zeilennummern verwandelt einen rohen Einfügeblock aus Code, Logs, Texten oder Notizen in eine stabile nummerierte Liste, die Sie in Tickets, Hausaufgaben und Reviews teilen können. Geben Sie eine beliebige nicht leere ein- oder mehrzeilige Zeichenkette ein; das Werkzeug normalisiert Windows- und klassische Mac-Zeilenumbrüche, teilt an jedem Zeilenbruch und präfixiert jedes Segment mit einer sequenziellen Ganzzahl plus dem gewählten Trenner—standardmäßig ein Punkt und Leerzeichen, damit der vertraute 1.-Stil ohne Extra-Setup erscheint. Optionales start lässt Sie eine Liste bei null, eins oder jeder Ganzzahl im veröffentlichten Bereich fortsetzen. Entwickler, Lehrkräfte, Support-Agenten und Content-Pipelines brauchen dieselbe deterministische Nummerierung ohne eine volle IDE zu öffnen.
Wie sequenzielle Zeilennummerierung funktioniert
Zeilennummerierung ist eine der ältesten Lesbarkeitshilfen in Programmierung und technischem Schreiben: jede visuelle Zeile erhält ein ganzzahliges Label, damit Menschen „Zeile 17“ zeigen können, ohne die Hälfte des Dokuments zu zitieren. Diese Fähigkeit setzt diese Alltagsregel auf Klartext um, nicht auf PDF-Seiten oder Textverarbeitungs-Absätze. Zuerst wird die Eingabe geprüft: fehlendes text, ein Nicht-String-Wert oder eine nach Trim leere Zeichenkette wird abgelehnt, damit leere Pastes nie wie Erfolg aussehen.
Zeilenumbrüche werden normalisiert, sodass Windows CRLF, altes Mac CR und Unix LF vor dem Split zu einer einzigen LF-Form werden. Der Splitter bricht die Zeichenkette dann an jedem LF; jedes resultierende Segment—einschließlich leerer Segmente zwischen aufeinanderfolgenden Umbrüchen—ist eine Zeile und erhält seine eigene Nummer. Die erste Nummer ist der ganzzahlige start-Wert (Standard eins), und jede folgende Zeile erhöht um eins.
Zwischen der Nummer und dem originalen Zeileninhalt fügt das Werkzeug die Trenner-Zeichenkette ein, die standardmäßig ein Punkt gefolgt von einem Leerzeichen ist, damit die Ausgabe wie eine klassische nummerierte Liste liest. Sie dürfen einen anderen Trenner wie Doppelpunkt und Leerzeichen, schließende Klammer, Pipe oder tab-artigen Marker übergeben, solange der Trenner innerhalb des veröffentlichten Zeichenlimits bleibt. Wenn Sie Absatz-Totale statt pro-Zeile-Labels brauchen, nutzen Sie einen Leerzeilen-Absatzzähler; wenn Sie PDF-Seitenstempel brauchen, nutzen Sie eine PDF-Seitennummerierungs-Fähigkeit.
Diese Landing geht nur um das Präfixen sequenzieller Nummern auf Klartextzeilen.
Praktische Tipps, Grenzen und wann Sie dieses Werkzeug nutzen
Nutzen Sie diese Fähigkeit, wenn die Suchabsicht Zeilennummern hinzufügen, Zeilen online nummerieren oder sequenzielle Zeilennummerierung für Klartext ist. Fügen Sie ein Code-Snippet, Log-Extrakt, Gedicht oder Checkliste ein, wandeln Sie einmal um und legen Sie den nummerierten Block in ein Ticket, eine E-Mail oder ein Studierenden-Feedback-Formular. Behalten Sie absichtliche abschließende Umbrüche im Blick: ein finales LF erzeugt ein leeres letztes Segment, das trotzdem eine Nummer erhält, was dem entspricht, wie viele Editoren Dateiende-Umbrüche behandeln.
Extrem lange Einzelzeilen zählen weiterhin als je eine Zeile; das Werkzeug umbricht nicht nach Zeichenbreite. HTML- und Markdown-Quellen werden als Rohzeichenketten nummeriert; entfernen Sie Markup zuerst, wenn Sie nur sichtbare Prosazeilen wollen. Diese Landing ist kein PDF-Seitenstempel, kein Absatzzähler, kein Wort- oder Zeichenzähler und kein Diff-Werkzeug, das Hunks erfindet.
Bevorzugen Sie PDF-Seitennummerierung, wenn das Dokument ein mehrseitiges binäres PDF ist; bevorzugen Sie einen Absatzzähler, wenn Menschen Ideen mit Leerzeilen trennten und Sie nur das Total brauchen; bevorzugen Sie diese Fähigkeit, wenn Reviewer exakte Zeilenindizes in Klartext zitieren müssen. Beim Vermitteln von Code-Review nummerieren Sie dasselbe Snippet zweimal mit unterschiedlichen Trennern, damit Lernende sehen, wie Labels stabil bleiben, während die Präsentation wechselt.
Anwendungsfälle
Code-Review und Fehlerberichte
Fügen Sie einen Stack-Trace oder ein Snippet ein, addieren Sie stabile Zeilennummern und zitieren Sie „Zeile 12“ in Tickets, ohne ein ganzes Repository zu teilen.
Hausaufgaben- und Arbeitsblatt-Vorbereitung
Lehrkräfte nummerieren Gedichtzeilen oder Übungslisten, damit Studierende in Quizzes und Arbeitsblättern per Zeilennummer antworten.
Log-Auszüge für Support-Übergaben
Support-Agenten nummerieren mehrzeilige Log-Pastes vor der Eskalation, damit Ingenieure auf die exakte fehlerhafte Zeile zeigen können.
Häufige Fragen
Wie sind Zeilen definiert?
Nach Normalisierung von CRLF und CR zu LF wird der Text an jedem LF geteilt. Jedes Segment—einschließlich leerer zwischen aufeinanderfolgenden Umbrüchen—erhält eine sequenzielle Nummer.
Kann ich Trenner oder Startnummer ändern?
Start muss eine Ganzzahl von 0 bis 1,000,000 sein; separator ist auf 32 Zeichen begrenzt.
Nummeriert dies PDF-Seiten?
Nein. Es nummeriert nur Klartextzeilen. Nutzen Sie ein PDF-Seitennummerierungs-Werkzeug, wenn Sie Stempel auf PDF-Seiten brauchen.
Bekommen auch leere Zeilen eine Nummer?
Ja. Jede leere Zeile zwischen zwei Umbrüchen wird nummeriert, damit die Nummern zu dem passen, was Sie im Editor sehen. Ein Umbruch ganz am Ende fügt außerdem eine nummerierte leere letzte Zeile hinzu.
Werden Zeilenumbrüche aus Windows und Mac gleich behandelt?
Ja. Windows-Umbrüche, alte Mac-Umbrüche und Unix-Umbrüche werden vorher vereinheitlicht. Dieselbe Datei ergibt daher dieselbe Nummerierung, egal auf welchem System sie entstanden ist.
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/str/number-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"alpha\nbeta\ngamma"}'const res = await fetch("https://api.kit.forhosting.com/str/number-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "alpha\nbeta\ngamma"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/number-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "alpha\nbeta\ngamma"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/number-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"alpha\\nbeta\\ngamma"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"alpha\nbeta\ngamma"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/number-lines", 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": "alpha\nbeta\ngamma"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.number_lines",
"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_chars | 100000 |
max_separator_chars | 32 |
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
Leere oder nur aus Leerzeichen bestehende Eingabe wird mit einem klaren invalid_input-Fehler abgelehnt, damit Automatisierung ein leeres Formular nie als erfolgreiche Null-Zeilen-Datei wertet.
Wie Sie die API aufrufen und was die Antwort enthält
Senden Sie lieber den rohen Dokumentkörper mit echten Zeilenumbrüchen statt alles vorab zu einer Zeile zu verbinden, wenn Sie echte mehrzeilige Labels wollen. Senden Sie einen JSON-Body mit einem Pflicht-String-Feld text (Aliase input, value, string, s, content und body). Optional schließen Sie separator (Aliase sep und delimiter) als Zeichenkette von höchstens zweiunddreißig Zeichen ein, und start (Aliase from, offset und begin) als Ganzzahl zwischen null und einer Million inklusive. Der text-Wert muss nach Trim der Leerzeichen nicht leer sein und darf hunderttausend Zeichen nicht überschreiten, damit eine einzelne Anfrage den Speicher von Worker oder Browser bei riesigen Einfügungen nicht erschöpft. Bei Erfolg spiegelt die Antwort input als die original gesendete Zeichenkette, text als die getrimmte Arbeitszeichenkette, separator und start als die effektiven Nummerierungsoptionen, line_count als die Anzahl nummerierter Segmente, lines als ein geordnetes Array vollständig präfixierter Zeilenzeichenketten, numbered als jene Zeilen mit LF verbunden, und message als eine kurze Zusammenfassung, die meldet, wie viele Zeilen mit welchem start und Trenner nummeriert wurden. Fehlgeschlagene Validierung—fehlendes text, Nicht-String-Wert, zu großer Payload, leerer Inhalt nach Trim, Nicht-String- oder zu langer Trenner, oder Nicht-Ganzzahl- oder out-of-range-start—gibt invalid_input zurück und wird nie berechnet. Die Preisgestaltung ist pauschal $0.002 pro erfolgreicher Anfrage mit Einheit item und null marginalem Stückpreis. Beim Integrieren assertieren Sie auf numbered oder lines für die volle Liste, auf line_count für das Total, und behandeln Sie invalid_input als Client-Bug bei leeren Formularabsendungen statt als Abrechnungsereignis.
Praktische Tipps, Grenzen und wann Sie dieses Werkzeug nutzen
Roundtrip-Prüfungen für Tests sind einfach: speisen Sie drei kurze durch LF getrennte Zeilen und erwarten Sie line_count drei mit Präfixen ab eins und dem Standard-Trenner; ändern Sie start auf zehn und erwarten Sie zehn, elf, zwölf; senden Sie absichtlich leere Zeichenkette oder Leerzeichen, um invalid_input und die Meldung zu bestätigen, die eine nicht leere Zeichenkette verlangt. Fehlgeschlagene Aufgaben, die invalid_input zurückgeben, verbrauchen kein Prepaid-Guthaben, was Formularvalidierung und CI-Negativtests günstig hält.
Technische Fragen
Was passiert bei leerer Eingabe?
Fehlendes text, Nicht-String-Werte oder nach Trim leere Zeichenketten geben invalid_input zurück und werden nie berechnet.
Ist das Zeilennummern-Werkzeug kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen Prepaid-KIT-Guthaben zu $0.002 pro erfolgreicher Anfrage; fehlgeschlagene Aufgaben werden nie berechnet.