Verifica file immagine
Non sempre un file .jpg è davvero un JPG. Questo strumento apre l'immagine e ti dice cosa è realmente: formato effettivo, larghezza e altezza in pixel, peso, canali di colore e se il file è integro o danneggiato. Utile prima di caricarla dove ci sono regole precise. Tutto nel browser, gratis.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Formato reale contro estensione
Chiunque può rinominare foto.png in foto.jpg, ma il contenuto non cambia: molti portali lo rifiutano proprio per questo. Lo strumento legge la firma interna del file e ti dice il formato vero, non quello scritto nel nome. Così scopri in anticipo se un caricamento fallirà e perché, invece di ricevere un errore poco chiaro dopo aver aspettato l'upload.
Le regole dei portali
Un bando pubblico chiede la foto in un formato preciso, entro un peso massimo e con dimensioni minime; un marketplace vuole immagini non troppo grandi. Qui vedi subito larghezza, altezza, proporzioni e peso, e capisci se il file rispetta i requisiti prima di inviarlo. Niente sorprese al momento della conferma.
File integri o corrotti
A volte un'immagine si scarica a metà o si rovina durante un trasferimento. Lo strumento verifica che il file sia leggibile fino in fondo e segnala se è troncato o danneggiato, così sai se ti serve una copia nuova prima di usarlo in un documento o in un sito.
Casi d'uso
Domande e concorsi pubblici
Marco Rossi deve allegare la foto tessera a una domanda online che accetta solo JPG entro un certo peso: verifica formato e dimensioni prima di inviare, evitando il rifiuto del portale.
Caricamenti in blocco
Prima di importare cento foto prodotto nel gestionale, un negozio online controlla che siano tutte immagini valide e nelle proporzioni giuste, scartando i file rotti.
Controllo per sviluppatori
Chi accetta upload dagli utenti verifica che il file sia davvero un'immagine e non un altro tipo mascherato da .jpg, come primo filtro di sicurezza.
Domande frequenti
È gratis?
Sì, senza limiti. La verifica avviene nel tuo browser e non costa nulla. Per controllare i file in automatico via API il prezzo è $0.002 a richiesta.
Il file viene caricato online?
No. Tutto avviene sul tuo dispositivo: l'immagine non lascia il browser. Ideale proprio quando vuoi solo controllarla senza esporla.
Scopre se un .jpg è in realtà un altro formato?
Sì. Legge la firma interna del file e riporta il formato reale, indipendentemente da come è scritta l'estensione nel nome.
Mi dice anche le dimensioni in pixel?
Sì: larghezza, altezza, proporzioni e peso del file, i dati che di solito servono per capire se rispetta i limiti di un portale.
Riconosce un file danneggiato?
Verifica che l'immagine sia leggibile per intero e segnala se risulta troncata o corrotta, così sai se ti serve una copia sana.
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/image/validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/validate", 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
{
"image": "https://ejemplo.com/imagen.jpg"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.validate",
"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 | 15 |
max_megapixels | 12 |
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. |