Open-Source-Lizenzen

Zuletzt aktualisiert: 26. September 2026

Die Konvertierung eines HEIC-Fotos findet hier in Ihrem eigenen Browser statt, und Ihr Foto wird dafür nicht hochgeladen. Dazu lädt Ihr Browser ein kleines Open-Source-Programm herunter, das HEIC lesen kann. Diese Seite nennt dessen Lizenz, wo sich der Quellcode befindet und wie Sie es neu kompilieren oder ersetzen können.

Kurz gesagt: Der Decoder ist unter der LGPL-3.0 lizenziert, wir haben ihn nicht verändert, Sie können den Quellcode, von dem wir glauben, dass er kompiliert wurde, von dieser Seite herunterladen (unten geben wir an, was wir verifiziert haben und was nicht), und Sie dürfen ihn für Ihren eigenen Gebrauch modifizieren, ersetzen und reverse-engineeren.

Was wir an Ihren Browser liefern

Dateien und Lizenztexte

Die Bibliothek wird als separate Dateien geliefert, genau so, wie ihre Autoren sie im npm-Paket veröffentlicht haben (wir haben nichts geändert, und die Dateien sind nicht mit anderen Skripten zusammengeführt):

SHA-256 der beiden Binärdateien:

Quellcode, hier gehostet

Der vollständige, zugehörige Quelltext wird auf dieser Website vorgehalten, sodass Sie nicht von GitHub abhängig sind. GitHub schließt keine Submodule in seine Archive ein, weshalb libheif und libde265 separate Dateien sind. Jede der folgenden Dateien ist das Archiv, wie GitHub es für den angezeigten Tag oder Commit bereitstellt.

Dieselben Quellen auf GitHub: libheif-js (Tag 1.23.2), libheif-emscripten (Tag v1.23.2), libheif (Commit ac1cb05) und libde265 (Tag v1.0.15). Das Paket befindet sich ebenfalls auf npm (sha1 185691289ccfefe813e4b7f84ac4f84f24abb064). Wir haben keinerlei Änderungen daran vorgenommen.

Selbst erstellen

Diese Schritte stammen aus dem Build-Workflow von libheif-emscripten v1.23.2 (.github/workflows/emscripten.yml, das Ziel „wasm“). Wir haben sie aus dem Repository kopiert und nicht selbst ausgeführt. Sie benötigen einen sauberen Ubuntu-22.04-Computer (das Installationsskript führt sudo apt-get aus und installiert sowie entfernt Pakete), Node.js 24, git, curl, cmake, make und eine C++-Toolchain.

git clone https://github.com/catdad-experiments/libheif-emscripten
cd libheif-emscripten
git checkout v1.23.2
git submodule update --init --recursive   # libheif at ac1cb05c39008f01525c991ff8b88f84ddf70fd2

npm install -g typescript@5
export EMSCRIPTEN_VERSION=3.1.61
cd libheif
./scripts/install-ci-linux.sh             # installs Emscripten 3.1.61
./scripts/prepare-ci.sh
sed -e 's/USE_WASM=0/USE_WASM=1 USE_UNSAFE_EVAL=0/g' -e 's/USE_TYPESCRIPT=0/USE_TYPESCRIPT=1/g' \
    ./scripts/run-ci.sh > ./scripts/run-ci-wasm.sh
chmod +x ./scripts/run-ci-wasm.sh
./scripts/run-ci-wasm.sh                  # also downloads and builds libde265 1.0.15
cd ..
./dist-prep.sh wasm                       # result: dist/libheif.js, dist/libheif.wasm

Das libheif-js-Paket lässt anschließend die .js Datei über esbuild laufen (minimiert, Ziel es2019) mit seinem scripts/install.js; deshalb ist unser libheif.js minimiert. SOURCE.txt erklärt diesen Schritt ebenfalls. Ein erneuter Build ist nicht garantiert zu 100 % bitgenau identisch mit den von uns ausgelieferten Dateien.

Ersetzen Sie die Bibliothek durch Ihre eigene Version

Der Konverter lädt libheif.js und libheif.wasm als zwei separate Dateien von /vendor/libheif-js/über /heic-worker.js. Um Ihren eigenen Build zu verwenden, ersetzen Sie die beide Dateien und behalten Sie dabei dieselben Namen und Ordner bei. Ihr Build muss die Schnittstelle bereitstellen, die /heic-worker.js verwendet:

Praktisch: Speichern Sie die Seite und diese Dateien, legen Sie Ihren Build an denselben Ort und bedienen Sie diesen Ordner selbst (zum Beispiel mit python3 -m http.server), oder verwenden Sie die lokale Überschreibungsfunktion Ihres Browsers, um Ihre eigene Datei unter derselben Adresse bereitzustellen.

Ihre Rechte

Sie dürfen die Bibliothek für Ihren eigenen Gebrauch ändern und sie zur Fehlersuche bei diesen Änderungen zurückentwickeln. Nichts auf dieser Seite oder in ihren Bedingungen schränkt dies ein.

Früherer Dekoder

Bis zum 26. September 2026 verwendete diese Seite die Bibliothek heic2any (Version 0.0.4, MIT-Lizenz) für HEIC-Dateien. Sie wird nicht mehr verwendet und die obige Lizenz betrifft sie nicht: Der von uns jetzt gelieferte Dekoder ist der LGPL-3.0 libheif-js, der auf dieser Seite beschrieben wird. Wir haben heic2any ersetzt, da es den Kontrast und die Farben vieler Telefonfotos veränderte und einige neuere HEIC-Dateien nicht lesen konnte.

Fragen

Nutzen Sie den Feedback-Button auf jeder Seite oder erreichen Sie uns über Kontaktseite.