Benötigte QR-Code-Version nach Kapazität berechnen
Dieser Rechner ermittelt die kleinste QR-Code-Version, die eine angegebene Anzahl Bytes mit der Fehlerkorrekturstufe L, M, Q oder H aufnehmen kann.
Im Browser ausführen – kostenlos
Grundlage sind die standardisierten Grenzen des Byte-Modus für die QR-Versionen 1 bis 40. Ausgegeben werden die gewählte Version, die Modulzahl, die verfügbare Kapazität und die freien Bytes. So können Sie den Code vor der Gestaltung bemessen, eine Druckgröße festlegen oder beurteilen, ob eine stärkere Fehlerkorrektur das Symbol zu dicht werden lässt.
Beginnen Sie mit der codierten Bytezahl
Die Kapazität eines QR-Codes hängt vom Codierungsmodus ab und nicht allein von der Zahl der sichtbaren Zeichen. Dieser Rechner verwendet bewusst den Byte-Modus, weil er für URLs, Fließtext, Kennungen und gemischte Satzzeichen eine verlässliche allgemeine Grundlage bietet. Geben Sie an, wie viele Bytes die endgültigen Daten nach der Textcodierung belegen. Einfache ASCII-Zeichen benötigen meist jeweils ein Byte, während Umlaute, Emoji und viele nichtlateinische Schriften in UTF-8 mehrere Bytes beanspruchen. Wenn Sie nur sichtbare Zeichen zählen, kann die gewählte Version zu klein ausfallen. Berücksichtigen Sie alle tatsächlich codierten Bestandteile, darunter URL-Parameter, Trennzeichen, Zeilenumbrüche und Präfixe strukturierter Daten. Das Ergebnis nennt die erste QR-Version, deren Grenze im Byte-Modus mindestens dieser Länge entspricht. Zusätzlich sehen Sie die verbleibenden Bytes als nützliche Reserve für spätere Erweiterungen. Numerische oder alphanumerische Inhalte werden hier nicht in die kompakteren QR-Modi umgewandelt; ein spezialisierter Encoder kann geeignete Daten deshalb unter Umständen in einem kleineren Symbol unterbringen.
Wählen Sie die Fehlerkorrektur bewusst
Fehlerkorrektur tauscht Speicherkapazität gegen Widerstandsfähigkeit. Stufe L lässt den größten Raum für Daten und eignet sich, wenn der Code sauber dargestellt und unter kontrollierten Bedingungen gelesen wird. Stufe M ist eine verbreitete Wahl für allgemeine Anwendungen. Q und H reservieren zunehmend mehr Codewörter für die Wiederherstellung und können sinnvoll sein, wenn Etiketten zerkratzt werden, Verpackungen gewölbt sind oder ein Gestaltungselement einen kleinen Bereich verdeckt. Dieser Schutz führt bei derselben Nutzlast früher zu einer höheren Version. Prüfen Sie dieselbe Bytezahl mit mehreren Stufen, bevor Sie das Layout festlegen. Eine höhere Stufe ist nicht automatisch besser: Mit der Version steigt die Anzahl der Module, und bei gleichbleibender Druckfläche werden diese physisch kleiner. Zu kleine Module können das Scannen erschweren, obwohl mehr Fehlerkorrektur vorhanden ist. Wählen Sie die niedrigste Stufe, die zu erwarteter Beschädigung, Oberfläche, Kontrast, Leseabstand und Druckverfahren passt, und halten Sie anschließend eine ausreichende Ruhezone um den fertigen Code frei.
Deuten Sie Version und Modulabmessungen richtig
QR-Versionen reichen von 1 bis 40. Version 1 besitzt 21 Module je Seite; jede weitere Version fügt auf jeder Seite vier Module hinzu. Die ausgegebene Seitenlänge beschreibt daher das quadratische Datenraster, nicht die endgültige Größe in Millimetern oder Pixeln. Der Generator muss zusätzlich die Ruhezone vorsehen, üblicherweise vier Module an jedem Rand. Außerdem muss jedes Modul für Kamera und Leseabstand groß genug bleiben. Die Mindestversion ist eine Kapazitätsangabe und keine vollständige Garantie für zuverlässiges Scannen. Ein konkreter Encoder kann abweichen, wenn er automatisch zwischen numerischen, alphanumerischen, Byte- oder Kanji-Segmenten wechselt, eine Kennung für den Zeichensatz ergänzt oder besondere strukturierte Aufteilung nutzt. Verwenden Sie das Ergebnis als vorsichtige Planung im Byte-Modus und testen Sie das fertige Symbol mit genau dem Encoder und den Daten, die Sie veröffentlichen. Wird die Eingabe abgelehnt, kann Version 40 diese Bytezahl bei der gewählten Stufe nicht aufnehmen; kürzen Sie die Daten, senken Sie die Korrekturstufe oder codieren Sie einen kompakten Verweis.
Anwendungsfälle
Drucketiketten planen
Schätzen Sie die Symboldichte, bevor Sie auf Verpackungen, Eintrittskarten oder Geräteetiketten Platz für einen QR-Code reservieren.
Korrekturstufen vergleichen
Erkennen Sie, wie der Wechsel von M zu Q oder H die Mindestversion für dieselbe Bytezahl verändert.
Datenbudgets prüfen
Legen Sie für erzeugte URLs oder strukturierte Datensätze eine Bytegrenze fest, bevor sie an den QR-Encoder gehen.
Häufige Fragen
Was bedeutet die Datenlänge?
Gemeint ist die Zahl der Bytes in den endgültigen Daten, nicht unbedingt die Zahl der sichtbaren Zeichen.
Welcher QR-Codierungsmodus wird verwendet?
Die Berechnung gilt für den Byte-Modus. Im numerischen oder alphanumerischen Modus passen mehr zulässige Zeichen hinein.
Wofür stehen L, M, Q und H?
Dies sind die vier QR-Fehlerkorrekturstufen, geordnet von größerer Datenkapazität bis zu stärkerer Wiederherstellung.
Ist die Ruhezone im Ergebnis enthalten?
Nein. Die Module je Seite beschreiben das QR-Raster. Ergänzen Sie die vom Generator und von der Druckvorgabe verlangte Ruhezone.
Warum wählt mein QR-Generator eventuell eine andere Version?
Er kann die Daten in effizientere Modi aufteilen oder Metadaten wie eine Zeichensatzkennung ergänzen. Prüfen Sie das Endergebnis mit Ihrem vorgesehenen Encoder.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Die Browserversion läuft kostenlos und lokal.
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/doc/qr-code-capacity-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"data_length":100,"error_correction_level":"M"}'const res = await fetch("https://api.kit.forhosting.com/doc/qr-code-capacity-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"data_length": 100,
"error_correction_level": "M"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/qr-code-capacity-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"data_length": 100,
"error_correction_level": "M"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/qr-code-capacity-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"data_length":100,"error_correction_level":"M"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"data_length":100,"error_correction_level":"M"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/qr-code-capacity-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"data_length": 100,
"error_correction_level": "M"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.qr_code_capacity_estimate",
"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 |
max_pages | 200 |
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. |