Trascina un'immagine, JS, CSS o un font, fai clic per selezionarne uno, oppure incolla una URL.
La demo privilegia la velocità rispetto alla dimensione: riduce le immagini grandi e usa impostazioni di codifica rapide. Per i file più piccoli, usa l'API con i tuoi parametri.
o scansiona tutto il tuo sito →
Alleggerisci il tuo front-end.
Il più piccolo tessitore del web, per il web più leggero.
Patu ottimizza gli asset statici di una pagina: immagini, SVG, JavaScript, CSS e font. Le immagini puntano a un punteggio di qualità percettiva; tutto il resto viene convertito senza perdita. Invia un asset, ricevi qualcosa di più piccolo che si visualizza in modo identico. In linea, oppure archiviato dietro una CDN con un manifest di URL e Subresource Integrity.
Cosa fa
- Immagini alla qualità che scegli a occhio. Cerca la qualità dell'encoder per raggiungere un punteggio ssimulacra2, non un Q stimato a caso, e restituisce AVIF e WebP con un fallback JPEG/PNG più le larghezze responsive che richiedi.
- SVG, path compresi. Sanifica l'SVG, poi riscrive la geometria e la struttura dei path con silk, riducendo i disegni ricchi di path del 67-88% mantenendo un rendering identico.
- JavaScript e CSS. Minificati con esbuild (spazi bianchi e sintassi sicura, senza mai rinominare i nomi esportati dal tuo codice), poi compressi sull'edge.
- Font in WOFF2. TTF/OTF/WOFF diventano WOFF2 tramite woffify, il 57-70% più leggeri; il subsetting opzionale dei glifi elimina ciò che una pagina non usa mai.
- Subresource Integrity integrata. Ogni risposta include un token SHA-384
X-Patu-Integrity, così una pagina può fissare un asset che nemmeno una CDN compromessa può alterare. - In linea o archiviato, deduplicato. Ricevi indietro i byte, oppure lascia che Patu conservi le varianti e ti fornisca un manifest di URL servito dall'edge. Gli input identici vengono deduplicati tramite hash del contenuto, e Patu non restituisce mai più di quanto ha ricevuto.
Avvio rapido
Patu è autenticato con chiave API. Invia i byte grezzi; dichiara gli asset non immagine con Content-Type.
# Inline: get the optimised bytes back curl -X POST "https://patu.dev/v1/compress?formats=avif,webp,fallback&target=80" \ -H "X-Api-Key: $PATU_KEY" \ --data-binary @photo.jpg -o photo.avif # JS, CSS or a font (routed by Content-Type) curl -X POST "https://patu.dev/v1/compress" \ -H "X-Api-Key: $PATU_KEY" -H "Content-Type: font/ttf" \ --data-binary @Inter.ttf -o Inter.woff2 # Stored: persist the variants, get a JSON manifest of URLs curl -X POST "https://patu.dev/v1/compress?mode=stored&widths=480,1024" \ -H "X-Api-Key: $PATU_KEY" \ --data-binary @photo.jpg
Non hai una chiave API? Trascina un'immagine, JS, CSS o un font qui sopra per provare l'endpoint demo pubblico. Parametri completi, forme delle risposte ed endpoint degli asset sono nella pagina API.