v1.0 jetzt verfügbar

Bildoptimierung, die einfach funktioniert. Überall.

Keine C++-Bindings. Keine nativen Abhängigkeiten. Einfach installieren und ausführen — im Terminal, in der CI-Pipeline oder im KI-Agenten-Werkzeugkasten.

GetWebP CLI ist ein abhängigkeitsfreier, WASM-gestützter Kommandozeilen-Bildoptimierer, der PNG, JPG, GIF, TIFF und BMP zu WebP und AVIF konvertiert. Er läuft vollständig auf deinem Rechner — ohne Cloud-Uploads, ohne native Bindings und ohne Kompromisse beim Datenschutz. Ein einziger npx-Befehl installiert alles — bereit für Terminals, CI/CD-Pipelines und die Tool-Nutzung durch KI-Agenten.

npx getwebp@latest ./images

Hören Sie auf, mit nativen Abhängigkeiten zu kämpfen.

PackageX

Keine C++-Bindings

Kein Python, make oder g++ erforderlich. Mit einem einzigen npx-Befehl installieren und überall ausführen, wo Node.js läuft.

Box

Einzelne Binärdatei / Reines WASM

~5 MB WASM-Engine ohne native Abhängigkeiten. Läuft auf Docker Alpine, CI-Runnern und Serverless-Funktionen.

Braces

Vorhersagbare JSON-Ausgabe

Entwickelt für Pipelines und KI-Agenten. --json übergeben für strukturierte Ergebnisse, ideal für Scripting und Automatisierung.

Strukturierte Ausgabe für programmatische Nutzung

Wechseln Sie mit --json in den KI-Modus und erhalten Sie maschinenlesbare Ausgabe. Jede Datei, Komprimierungsrate, Abmessungen und Status — alles in einem strukturierten JSON-Payload.

CLI-Ausgabebeispiele: Human- und KI-Modus

Human-Modus
# Activate Pro license
$ getwebp auth XXXX-XXXX-XXXX-ABCD
Verifying license...
 Activated! Pro plan unlocked.

# Convert a directory of images (Pro: recursive, concurrent)
$ getwebp ./images -o ./images/webp -q 85
 hero.jpg
 banner.png
 product-shot.jpg

Done: 3 succeeded, 0 failed
Avg saved: 34.2%

# Check current license status
$ getwebp status
Version    : 1.0.1
Mode       : Pro
License    : xxxx-xxxx-xxxx-ABCD
Expires    : 2026-12-31
Devices    : 1 / 3 used
KI-Modus (JSON-Ausgabe)
// $ getwebp ./images -o ./images/webp -q 85 --json
// One JSON object per line (NDJSON). First line: version preamble.
{"@timestamp":"2026-04-12T10:00:00.000Z","@level":"info","@message":"GetWebP CLI 1.3.0","@module":"getwebp.cli","type":"version","data":{"getwebp":"1.3.0","ui":"1"}}
// Last line: convert.completed summary with all results.
{"@timestamp":"2026-04-12T10:00:01.234Z","@level":"info","@message":"Converted 3/3 files","@module":"getwebp.convert","type":"convert.completed","data":{
  "processed": 3,
  "successCount": 3,
  "failedCount": 0,
  "results": [
    {
      "file": "images/hero.jpg",
      "outputPath": "/abs/images/webp/hero.webp",
      "originalSize": 204800,
      "newSize": 134144,
      "savedRatio": 0.345,
      "saved": "34.5%",
      "quality": 82,
      "qualityMode": "auto",
      "status": "success"
    },
    {
      "file": "images/banner.png",
      "outputPath": "/abs/images/webp/banner.webp",
      "originalSize": 512000,
      "newSize": 327680,
      "savedRatio": 0.36,
      "saved": "36.0%",
      "quality": 85,
      "qualityMode": "auto",
      "status": "success"
    },
    {
      "file": "images/product-shot.jpg",
      "outputPath": "/abs/images/webp/product-shot.webp",
      "originalSize": 163840,
      "newSize": 102400,
      "savedRatio": 0.375,
      "saved": "37.5%",
      "quality": 80,
      "qualityMode": "auto",
      "status": "success"
    }
  ]
}}

In Ihren Workflow einbinden

name: Optimize Images
on:
  push:
    paths:
      - 'public/images/**'
jobs:
  optimize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install getwebp CLI
        run: npm install -g getwebp
      - name: Convert images to WebP
        run: |
          getwebp ./public/images --json > report.ndjson
          # Check for failures: extract convert.completed and assert failedCount == 0
          grep '"convert.completed"' report.ndjson |             jq -e '.data.failedCount == 0'
      - name: Upload NDJSON report
        uses: actions/upload-artifact@v4
        with:
          name: webp-report
          path: report.ndjson

Free ist gut für Ad-hoc. Pro ist für Pipelines gemacht.

FunktionKostenlosPro
Einzelnes Verzeichnis konvertieren
Verlustbehaftet / Verlustfrei
Unbegrenzt rekursiv (-r)
Multithreading
Unbegrenzte JSON-Ausgabe (--json)
Watch-Modus (--watch)

Entwickler-FAQ

Ja, vollständig offline nach der Installation. Die WASM-Engine läuft komplett auf Ihrem Gerät. Die Lizenzvalidierung führt bei der Aktivierung einen einzigen Netzwerkaufruf durch, aber die Bildkonvertierung berührt das Internet nie.

Ja. Da es auf purem WASM via Node.js läuft, funktioniert es identisch auf macOS (Intel + Apple Silicon), Linux (x64 + ARM64) und Windows (x64). Keine plattformspezifischen Binärdateien erforderlich.

Sharp ist eine fantastische Bibliothek, erfordert aber das Kompilieren nativer libvips-Bindings, was in Alpine Docker und Serverless-Umgebungen fehlschlägt. getwebp verwendet eine reine WASM-Engine — keine Kompilierung, kein gyp, keine nativen Abhängigkeiten. Es wird auch als CLI-first geliefert.

ImageMagick ist ein systemseitiges Tool, das separat installiert werden muss (apt-get, brew), je nach Betriebssystemversion variiert und keine strukturierte Ausgabe hat. getwebp ist ein in sich geschlossenes Node.js-Paket mit konsistentem Verhalten überall.

Ja. Eine einzelne Pro-Lizenz kann auf bis zu 5 Geräten (CLI) aktiviert werden und deckt bis zu 3 WordPress-Websites ab. Brauchen Sie mehr? Kontaktieren Sie uns.