Riduci il peso di una foto
Comprimere un'immagine significa ridurne il peso toccando il meno possibile ciò che si vede. Lo strumento ottimizza la foto per farla scendere sotto un limite — l'allegato di un modulo, il caricamento di un portale, la pagina di un sito — mantenendo le stesse dimensioni in pixel e una qualità che l'occhio non distingue.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Meno MB, stessi pixel
Attenzione a non confondere: comprimere non rimpicciolisce la foto, la alleggerisce. Le dimensioni in pixel restano quelle; a scendere è il peso del file, perché lo strumento butta i dati ridondanti che l'occhio non coglie. Puoi puntare a un livello di qualità o direttamente a un peso obiettivo — poniamo “sotto i 2 MB”. Su JPG e WebP il margine è ampio: spesso si dimezza il peso senza differenze visibili. Se ti serve anche una misura più piccola, prima ridimensioni e poi comprimi.
Il caso portale della PA
Molti portali pubblici rifiutano gli allegati oltre un certo peso: carichi la carta d'identità o un modulo scansionato e il sito ti blocca. Qui imposti il limite che ti chiede il portale e la foto ci rientra restando leggibile — il codice fiscale, le firme e i timbri devono rimanere chiari, altrimenti l'ufficio te la respinge. È lo stesso problema di chi allega documenti a una PEC o li invia al commercialista: pesano troppo per la casella o per l'invio.
Una foto o un flusso
Da questa pagina alleggerisci il singolo file in pochi secondi. Se le immagini da comprimere sono tante e continue — le foto caricate sul tuo sito, gli scatti di un servizio — richiami lo strumento via API e le ottimizzi in automatico. Presto anche da app e via email. Ogni immagine può arrivare a 15 MB e 12 megapixel in ingresso.
Casi d'uso
Allegato troppo pesante per il portale
Devi caricare la scansione della carta d'identità sul portale INPS ma supera il limite di peso. La comprimi sotto la soglia richiesta e il documento resta leggibile, codice fiscale compreso.
Sito più veloce e Core Web Vitals
Le foto della home di Rossi & Figli S.r.l. rallentano il caricamento da mobile. Le comprimi mantenendo la qualità e le pagine passano l'esame della velocità di Google.
Foto da inviare via PEC o email
Un servizio fotografico da mandare al cliente pesa troppo per l'allegato. Comprimi le immagini e le spedisci senza incappare nel limite della casella.
Domande frequenti
Comprimere rimpicciolisce la foto?
No. Le dimensioni in pixel restano identiche; scende solo il peso in MB. Se vuoi anche una misura più piccola devi ridimensionare, ed è un'operazione diversa che puoi fare nello stesso passaggio.
Si vede che è compressa?
Con una compressione ragionevole no: si tolgono dati che l'occhio non percepisce. Spingendo al massimo possono comparire piccoli artefatti nelle aree uniformi, per questo puoi scegliere il livello di qualità.
Posso puntare a un peso esatto, tipo sotto i 5 MB?
Sì. Imposti il peso obiettivo che ti chiede il portale o la casella e lo strumento ottimizza per rientrarci, mantenendo il documento leggibile.
Va bene per i documenti da caricare sulla PA?
Sì, è uno degli usi tipici: far scendere una scansione sotto il limite del portale senza rendere illeggibili codice fiscale, firme e timbri.
Quanto costa e c'è un abbonamento?
$0.005 a immagine più $0.002 a richiesta, senza canone e senza registrazione. Paghi solo le foto che comprimi.
Il documento che carico resta sui vostri server?
No. Viene elaborato e cancellato subito dopo; non lo conserviamo, cosa importante trattandosi spesso di documenti personali.
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/compress \
-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/compress", {
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/compress",
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/compress", 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/compress", 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.compress",
"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. |