Como usar
- Cole uma string Base64 ou um URI data:image/webp;base64. Qualquer outro formato de imagem também funciona.
- Confira a prévia, o formato detectado e o tamanho decodificado.
- Mantenha WebP em Baixar como para converter, ou escolha Original para salvar os bytes exatamente como foram decodificados.
- Baixe o arquivo .webp e compare o tamanho dele com o do original.
Como reconhecer dados WebP
O WebP é armazenado em um contêiner RIFF, o mesmo invólucro usado pelo áudio WAV. O arquivo começa com o texto ASCII RIFF, então o Base64 dele começa com UklGR; alguns bytes depois, o marcador WEBP confirma que o contêiner guarda uma imagem, e não som. Por dentro, a imagem pode ser com perdas (VP8), sem perdas (VP8L) ou um arquivo estendido (VP8X), que acrescenta transparência, animação ou metadados. O tipo MIME é image/webp.
Por que converter para WebP
Segundo as medições do Google, arquivos WebP com perdas são cerca de 25 a 34 por cento menores que JPEGs de qualidade comparável, e o WebP sem perdas é cerca de 26 por cento menor que o PNG. Ao contrário do JPEG, o WebP mantém um canal alfa, então logotipos e figurinhas com transparência são convertidos sem problemas. Todos os principais navegadores atuais exibem WebP.
Arquivos menores contam em dobro quando as imagens são incorporadas: uma imagem mais leve também significa uma string Base64 mais curta no seu HTML, CSS ou JSON. Depois de converter, você pode codificar o novo arquivo novamente com WebP para Base64.
O resultado nem sempre é menor. Ícones minúsculos, fotos já bem comprimidas e gráficos planos com poucas cores às vezes ficam maiores; nesse caso, PNG ou JPG é a melhor escolha. Converter aqui também é uma forma rápida de testar quanto uma imagem específica ganharia antes de mudar um pipeline de build: cole um PNG ou JPEG em Base64, baixe o WebP e compare os dois tamanhos.
Conversão com o Pillow
Para tarefas em lote em um servidor, a mesma conversão exige poucas linhas de Python com a biblioteca Pillow:
import base64, io
from PIL import Image
img = Image.open(io.BytesIO(base64.b64decode(b64_string)))
img.save('output.webp', 'WEBP', quality=80)
Perguntas frequentes
O WebP mantém a transparência?
Sim. O WebP oferece canal alfa completo tanto no modo com perdas quanto no modo sem perdas, então as áreas transparentes continuam transparentes após a conversão.
Posso manter um WebP animado?
Baixe como Original para manter todos os quadros. A conversão passa por um canvas, que captura um único quadro estático.
A saída em WebP é sempre menor que a entrada?
Não. Fotos grandes e capturas de tela geralmente encolhem, mas imagens pequenas ou muito otimizadas podem crescer. Compare o tamanho decodificado mostrado pela ferramenta com o tamanho do arquivo baixado.
Alguns programas não abrem meu arquivo WebP. O que posso fazer?
Visualizadores de imagem e programas de escritório mais antigos podem não ter suporte a WebP. Cole o mesmo Base64 e baixe como PNG ou JPG.