ImageMagick en Windows: convertir JPG/JPEG/PNG → WebP sin metadatos

Gabriel Gómez Gómez ·

ImageMagick en Windows: convertir JPG/JPEG/PNG → WebP sin metadatos

  • Guía práctica para instalar ImageMagick en Windows y convertir masivamente imágenes a WebP desde la terminal (PowerShell/CMD), con comandos separados para .jpg, .jpeg y .png, sin metadatos (EXIF/ICC/comentarios), y evitando colisiones de nombres.

  • 1) Instalar ImageMagick en Windows

  • • Descarga el instalador oficial: https://imagemagick.org/script/download.php (elige la versión Q16 x64 static). Durante la instalación:

  • - Marca Add application directory to your system path (para ejecutar magick desde cualquier carpeta).

  • - (Opcional) Marca Install legacy utilities (e.g., convert) si las necesitas; no es obligatorio para usar magick.

  • • Verifica en PowerShell:

  • PowerShellPOWERSHELL
    magick -version
  • Deberías ver la versión y la lista de “Delegates” que incluyen webp.

  • 2) Convertir desde la terminal (en la carpeta con tus imágenes)

  • Comandos separados por extensión; todos eliminan metadatos con -strip y usan compresión eficiente.

  • — Sólo JPG (.jpg):

  • PowerShell (JPG → WebP)POWERSHELL
    magick mogrify -format webp -quality 85 -strip -define webp:method=6 -define webp:near-lossless=0 *.jpg
  • — Sólo JPEG (.jpeg):

  • PowerShell (JPEG → WebP)POWERSHELL
    magick mogrify -format webp -quality 85 -strip -define webp:method=6 -define webp:near-lossless=0 *.jpeg
  • — Sólo PNG (mantiene transparencia). Aquí conviene lossless o subir calidad si prefieres con pérdidas suaves:

  • PowerShell (PNG → WebP lossless)POWERSHELL
    magick mogrify -format webp -strip -define webp:method=6 -define webp:lossless=true *.png
  • Alternativa (PNG → WebP con pérdidas suaves)POWERSHELL
    magick mogrify -format webp -quality 90 -strip -define webp:method=6 -define webp:near-lossless=0 *.png
  • 3) Guardar los WebP en otra carpeta (no sobrescribir originales)

  • Crea una carpeta de salida (por ejemplo webp) y usa -path con mogrify:

  • PowerShellPOWERSHELL
    mkdir webp -Force
    # JPG → webp/
    magick mogrify -path webp -format webp -quality 85 -strip -define webp:method=6 -define webp:near-lossless=0 *.jpg
    # JPEG → webp/
    magick mogrify -path webp -format webp -quality 85 -strip -define webp:method=6 -define webp:near-lossless=0 *.jpeg
    # PNG → webp/ (lossless recomendado)
    magick mogrify -path webp -format webp -strip -define webp:method=6 -define webp:lossless=true *.png
  • 4) Usar CMD desde PowerShell (dos bucles) para evitar colisiones si tienes 1.jpg y 1.jpeg

  • Si prefieres usar .jpg junto con .jpeg y evitar el problema comentado usa for de CMD, llama a cmd /c y haz dos bucles (uno por extensión). Esto genera nombres únicos: *_jpg.webp y *_jpeg.webp.

  • PowerShell + CMD (dos bucles)POWERSHELL
    mkdir webp -Force
    cmd /c 'for %f in (*.jpg *.JPG) do magick "%f" -strip -quality 85 -define webp:method=6 -define webp:near-lossless=0 "webp\%~nf_jpg.webp"'
    cmd /c 'for %f in (*.jpeg *.JPEG) do magick "%f" -strip -quality 85 -define webp:method=6 -define webp:near-lossless=0 "webp\%~nf_jpeg.webp"'
  • Notas rápidas

  • -strip elimina EXIF/ICC/comentarios → privacidad y menor peso.
    -quality 85 (con webp:method=6) suele dar excelente fidelidad para fotos. Ajusta 80–90 según tu criterio.
    • Para PNG con transparencia,
    -define webp:lossless=true evita halos y es ideal para logos/íconos.
    • Si usas
    mogrify -path, no puedes personalizar el nombre de salida; si necesitas sufijos (p. ej., _jpg/_jpeg) usa el enfoque de dos bucles con cmd /c mostrado arriba.