Calcoli la versione del codice QR in base alla capacità
Questo calcolatore della versione del codice QR individua il simbolo più piccolo capace di contenere un determinato numero di byte con livello di correzione degli errori L, M, Q o H.
Esegui gratis nel browser
Usa i limiti standard della modalità byte per le versioni QR da 1 a 40 e indica la versione scelta, il numero di moduli, la capacità disponibile e i byte residui. Il risultato consente a Lei di dimensionare il codice prima di preparare la grafica, scegliere le misure di stampa o valutare se una correzione più robusta renda il simbolo troppo fitto.
Parta dalla lunghezza codificata in byte
La capacità di un QR dipende dalla modalità di codifica, non soltanto dal numero di caratteri visibili. Questo calcolatore adotta intenzionalmente la modalità byte, una scelta generale affidabile per URL, testi, identificatori e segni di punteggiatura diversi. Inserisca il numero di byte occupati dal contenuto finale dopo la codifica del testo. I caratteri ASCII semplici richiedono normalmente un byte ciascuno, mentre lettere accentate, emoji e molte scritture non latine ne occupano più di uno in UTF-8. Contando solo i caratteri visibili, Lei potrebbe selezionare una versione insufficiente. Includa ogni elemento effettivamente codificato: parametri di query degli URL, separatori, ritorni a capo e prefissi di dati strutturati. Il risultato segnala la prima versione QR il cui limite in modalità byte comprende la lunghezza richiesta. Mostra inoltre i byte residui, utili come margine se il contenuto può crescere prima della produzione. La stima non ottimizza i dati numerici o alfanumerici mediante le rispettive modalità QR più compatte; un codificatore specializzato potrebbe quindi inserire contenuti idonei in un simbolo più piccolo.
Scelga con criterio il livello di correzione
La correzione degli errori sacrifica parte della capacità in cambio di resistenza. Il livello L conserva più spazio per i dati ed è adatto quando il codice viene mostrato nitidamente e letto in condizioni controllate. Il livello M è una scelta comune per impieghi generici. I livelli Q e H riservano via via più parole di codice al recupero e possono aiutare quando le etichette rischiano graffi, la confezione è curva o un elemento grafico copre una piccola area. Tale protezione fa aumentare prima la versione necessaria a parità di contenuto. Provi la stessa lunghezza in byte con livelli diversi per valutarne l’effetto sulle dimensioni prima di approvare la grafica. Un livello superiore non è sempre migliore: una versione più alta contiene più moduli, che diventano fisicamente più piccoli se l’area stampata resta invariata. Moduli minuscoli possono ridurre l’affidabilità di lettura nonostante la correzione più forte. Scelga il livello minimo adeguato ai danni, alla superficie, al contrasto, alla distanza e al processo di stampa previsti, mantenendo poi una corretta zona libera attorno al codice finito.
Interpreti la versione e le dimensioni in moduli
Le versioni QR vanno da 1 a 40. La versione 1 ha 21 moduli per lato e ogni versione successiva ne aggiunge quattro su ciascun lato. Il valore restituito descrive quindi la griglia quadrata dei dati, non la dimensione finale in millimetri o pixel. Il generatore deve ancora aggiungere la zona libera, di norma pari a quattro moduli su ogni bordo, e ogni modulo deve risultare abbastanza grande per la fotocamera e la distanza previste. La versione minima è un dato di capacità, non una garanzia completa di leggibilità. Il codificatore effettivo può scegliere diversamente se alterna automaticamente segmenti numerici, alfanumerici, byte o Kanji, aggiunge un indicatore esplicito del set di caratteri oppure usa una suddivisione strutturata particolare. Consideri il risultato una stima prudente in modalità byte e verifichi il simbolo definitivo con il codificatore e il contenuto esatti destinati alla pubblicazione. Se il calcolatore rifiuta l’input, la versione 40 non contiene tanti byte al livello selezionato; accorci il contenuto, riduca la correzione o codifichi un riferimento compatto.
Casi d'uso
Progettare etichette stampate
Stimi la densità del simbolo prima di riservare spazio a un codice QR su confezioni, biglietti o targhette tecniche.
Confrontare i livelli di correzione
Verifichi come il passaggio da M a Q o H cambia la versione minima per lo stesso contenuto in byte.
Convalidare i limiti del contenuto
Imposti un limite in byte per URL generati o record strutturati prima di inviarli a un codificatore QR.
Domande frequenti
Che cosa indica la lunghezza dei dati?
È il numero di byte del contenuto finale e non coincide necessariamente con il numero di caratteri visibili.
Quale modalità di codifica QR viene usata?
Il calcolo usa la modalità byte. Le modalità numerica e alfanumerica possono contenere più caratteri compatibili.
Che cosa significano L, M, Q e H?
Sono i quattro livelli di correzione degli errori QR, ordinati dalla maggiore capacità di dati alla maggiore capacità di recupero.
Il risultato comprende la zona libera?
No. I moduli per lato descrivono la griglia QR. Aggiunga la zona libera prevista dal generatore e dalle specifiche di stampa.
Perché il mio generatore può scegliere una versione diversa?
Può suddividere il contenuto in modalità più efficienti o aggiungere metadati, come l’indicatore del set di caratteri. Verifichi il risultato con il codificatore definitivo.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. La versione per browser viene eseguita localmente e gratuitamente.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"data_length": 100,
"error_correction_level": "M"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.qr_code_capacity_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
max_pages | 200 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |