o escanea todo tu sitio →
Aligera tu front end.
El tejedor de la web más pequeño, para la web más ligera.
Patu optimiza los recursos estáticos que envía una página: imágenes, SVG, JavaScript, CSS y fuentes. Las imágenes apuntan a una puntuación de calidad perceptual; todo lo demás se convierte sin pérdida. Envía un recurso y recibe algo más pequeño que se renderiza de forma idéntica. En línea, o almacenado detrás de una CDN con un manifiesto de URLs y Subresource Integrity.
Qué hace
- Imágenes a la calidad que eliges a simple vista. Busca la calidad de codificación para alcanzar una puntuación ssimulacra2, no una Q adivinada, y devuelve AVIF y WebP con un fallback JPEG/PNG, además de los anchos responsivos que pidas.
- SVG, con todo y su path. Sanitiza el SVG y luego reescribe la geometría y la estructura del path con silk, recortando un 67-88% los dibujos con muchos paths mientras se renderiza de forma idéntica.
- JavaScript y CSS. Minificado con esbuild (espacios en blanco y sintaxis segura, sin renombrar nunca los nombres que tu código exporta), y luego comprimido en el edge.
- Fuentes a WOFF2. TTF/OTF/WOFF se convierten a WOFF2 con woffify, un 57-70% más pequeñas; el subsetting de glifos opcional elimina lo que una página nunca usa.
- Subresource Integrity, incluida. Cada respuesta lleva un token SHA-384
X-Patu-Integrity, así una página puede fijar un recurso que ni siquiera una CDN comprometida puede alterar. - En línea o almacenado, sin duplicados. Recibe los bytes de vuelta, o deja que Patu guarde las variantes y te entregue un manifiesto de URLs servido desde el edge. Las entradas idénticas se deduplican por hash de contenido, y Patu nunca devuelve más de lo que recibió.
Inicio rápido
Patu se autentica con clave de API. Envía los bytes en bruto; declara los recursos que no son imágenes 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
¿Sin clave de API? Suelta una imagen, JS, CSS o fuente arriba para probar el endpoint de demostración público. Los parámetros completos, los formatos de respuesta y los endpoints de recursos están en la página de la API.