Bilder stapelweise nach Muster und Nummerierung umbenennen
Wandeln Sie eine geordnete Liste von Bilddateinamen in eine klare, einheitliche Folge um, bevor Sie die tatsächlichen Dateien umbenennen, hochladen, archivieren oder veröffentlichen.
Im Browser ausführen – kostenlos
Geben Sie ein Muster mit einem Zählerplatzhalter und die Startnummer an; Sie erhalten eine eindeutige Zuordnung vom alten zum neuen Namen. Das Werkzeug kann die ursprüngliche Endung bewahren, den Basisnamen übernehmen und Zahlen für eine natürliche Sortierung auffüllen. Es berechnet ausschließlich Namen: Bilder werden weder gelesen noch hochgeladen, verschoben oder verändert. Daher können Sie sämtliche Vorschläge bequem prüfen, bevor ein Eingriff in das Dateisystem erfolgt.
Erstellen Sie ein eindeutiges Benennungsmuster
Eine sinnvolle Stapelumbenennung beginnt mit einem Muster, das die Sammlung beschreibt und nicht die Kamera oder das Smartphone, mit dem sie entstand. Setzen Sie {counter} an die Stelle der laufenden Nummer, etwa in produkt-rot-{counter}{ext}. Mit {counter:3} bestimmen Sie eine feste Mindestbreite und erzeugen 001, 002 und 003. Die Breite darf ein bis zwanzig Stellen umfassen; eine bereits längere Zahl wird niemals abgeschnitten. Fügen Sie {ext} ein, um die Endung jeder Quelldatei einschließlich ihrer Groß- und Kleinschreibung genau beizubehalten. Verwenden Sie {name}, wenn der ursprüngliche Basisname im Ergebnis stehen soll. Derselbe Platzhalter darf mehrfach vorkommen, während gewöhnlicher Text unverändert bleibt. Da das Ergebnis ein Dateiname und kein Pfad ist, werden erzeugte Schräg- und Rückstriche abgelehnt. So bleibt die Verarbeitung auf Namen beschränkt und kann nicht unbemerkt das Verzeichnis wechseln. Prüfen Sie die ausgegebene Zuordnung, bevor Sie sie mit Dateimanager, Skript, Asset-Pipeline oder Medienverwaltung anwenden.
Steuern Sie Reihenfolge, Nummerierung und Dubletten
Die Eingabeliste legt die Reihenfolge fest. Die erste Datei erhält den Wert von start, die zweite die nächste ganze Zahl; anschließend geht die Verarbeitung weiter, ohne Namen zu sortieren oder darin enthaltene Datumsangaben auszuwerten. Das Ergebnis bleibt vorhersehbar, wenn Ihre Liste bereits einer Aufnahmefolge, Tabellenzeile, Auswahl oder redaktionellen Reihenfolge entspricht. Der voreingestellte Startwert ist 1. Für Systeme mit nullbasierter Zählung sind auch 0 und andere nicht negative sichere Ganzzahlen zulässig. Jeder erzeugte Name wird auf Kollisionen geprüft. Ein Muster ohne Zähler ist erlaubt, solange andere Platzhalter unterschiedliche Namen ergeben; {name}-freigegeben{ext} bleibt beispielsweise meist eindeutig. Würde ein solches Muster zwei Bilder gleich benennen, bricht die Anfrage ab und weist auf den fehlenden Zähler hin. Auch Muster mit Zähler werden kontrolliert, weil wiederholte Eingaben oder ausgelassene Unterschiede in seltenen Fällen kollidieren können. Bei einem Validierungsfehler gibt es keine Teilzuordnung; jede erfolgreiche Antwort stellt daher einen vollständigen Umbenennungsplan dar.
Nutzen Sie die Zuordnung sicher im Arbeitsablauf
Diese Funktion berechnet einen Umbenennungsplan und greift bewusst nicht auf Dateien zu. Jedes Ergebnis verbindet den bisherigen Namen mit dem vorgeschlagenen Ersatz, damit Menschen oder nachgelagerte Programme jede Änderung kontrollieren können. Diese Trennung hilft Fotografen bei Kontaktbögen, E-Commerce-Teams bei einheitlichen Produktmedien, Entwicklern beim Ordnen von Testdaten und Archiven beim Aufbau stabiler Folgen. Behalten Sie {ext} bei, wenn ein Stapel JPEG, PNG, WebP oder unterschiedlich geschriebene Endungen enthält: Der Platzhalter übernimmt das Suffix jeder einzelnen Quelle, statt ein Format vorzuschreiben. Eine Umbenennung konvertiert keine Bilddaten; ein wörtlich geänderter Endungstext ändert das tatsächliche Format somit nicht. Eingaben müssen Dateinamen und keine Pfade sein und dürfen höchstens 255 Zeichen enthalten. Ein Stapel umfasst bis zu 10,000 Einträge. Wenden Sie die Zuordnung mit einem Werkzeug an, das vorhandene Ziele erkennt und bei Überschneidungen zweistufig umbenennt. Die API-Anfrage kostet $0.002. Gleiche Eingaben liefern stets dasselbe Ergebnis, ohne Upload, Netzwerk, Zufall oder Zeitabhängigkeit.
Anwendungsfälle
Eine Fotoserie durchnummerieren
Ersetzen Sie Kameranamen durch eine aufgefüllte, geordnete Folge und bewahren Sie dabei jede ursprüngliche Endung.
Produktbilder vereinheitlichen
Erzeugen Sie vorhersehbare Shop-Dateinamen aus einer geordneten Liste von Ansichten und Varianten.
Archivumbenennung vorab prüfen
Erstellen und kontrollieren Sie die vollständige Zuordnung alter und neuer Namen, bevor Dateien geändert werden.
Häufige Fragen
Welche Zählerplatzhalter werden unterstützt?
Nutzen Sie {counter} für eine ungefüllte Zahl oder {counter:width}, etwa {counter:4}, für führende Nullen bis zur Mindestbreite.
Wie bleibt die Endung jedes Bildes erhalten?
Setzen Sie {ext} in das Muster. Es übernimmt die letzte Endung mit führendem Punkt und ursprünglicher Schreibweise.
Benennt das Werkzeug meine Bilder um oder lädt es sie hoch?
Nein. Es liefert lediglich eine deterministische Zuordnung jedes alten Namens zum vorgeschlagenen neuen Namen.
Was geschieht bei zwei identischen neuen Namen?
Die gesamte Anfrage schlägt fehl. Fehlt dem Muster ein Zähler, fordert die Fehlermeldung Sie ausdrücklich zum Ergänzen auf.
Was kostet eine API-Anfrage?
Jede Anfrage kostet $0.002, unabhängig davon, ob der Zähler bei null beginnt oder aufgefüllt wird.
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/image/batch-rename-pattern \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"filenames":["IMG_4102.JPG","IMG_4103.JPG","IMG_4104.PNG"],"pattern":"gallery-{counter:3}{ext}"}'const res = await fetch("https://api.kit.forhosting.com/image/batch-rename-pattern", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"filenames": [
"IMG_4102.JPG",
"IMG_4103.JPG",
"IMG_4104.PNG"
],
"pattern": "gallery-{counter:3}{ext}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/batch-rename-pattern",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"filenames": [
"IMG_4102.JPG",
"IMG_4103.JPG",
"IMG_4104.PNG"
],
"pattern": "gallery-{counter:3}{ext}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/batch-rename-pattern", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"filenames":["IMG_4102.JPG","IMG_4103.JPG","IMG_4104.PNG"],"pattern":"gallery-{counter:3}{ext}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"filenames":["IMG_4102.JPG","IMG_4103.JPG","IMG_4104.PNG"],"pattern":"gallery-{counter:3}{ext}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/batch-rename-pattern", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"filenames": [
"IMG_4102.JPG",
"IMG_4103.JPG",
"IMG_4104.PNG"
],
"pattern": "gallery-{counter:3}{ext}"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.batch_rename_pattern",
"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_items | 10000 |
max_filename_chars | 255 |
max_pattern_chars | 255 |
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. |