Wie die Dateikonvertierung im Browser funktioniert

Wenn Sie hören "Ihre Datei verlässt niemals Ihren Browser", klingt das vielleicht nach Marketing. Es ist keines. Es ist eine präzise technische Beschreibung, wie moderne Browser Dateien mithilfe von Web-APIs verarbeiten. Hier ist genau, was passiert.

📂

File API

Liest Dateien von Ihrer Festplatte in den Browserspeicher, ohne sie irgendwohin zu senden.

⚙️

WebAssembly

Führt nativ-schnellen kompilierten Code (C/C++/Rust) in der Browser-Sandbox aus.

🖼️

Canvas API

Zeichnet, transformiert und kodiert Bilder vollständig im Browser.

🧵

Web Workers

Führt rechenintensive Verarbeitung in einem Hintergrund-Thread aus, damit die Oberfläche reaktionsfähig bleibt.

Schritt 1: Datei einlesen — die File API

Wenn Sie eine Datei auswählen oder ablegen, gibt die File API des Browsers JavaScript Zugriff darauf als File-Objekt. Der Browser liest sie über FileReader oder file.arrayBuffer() in den Speicher.

Das ist ein lokaler Lesevorgang. Es wird keine Netzwerkanfrage gestellt. Die Dateidaten gelangen in den RAM des Browsers — genau wie beim Öffnen einer Datei in einer Desktop-Anwendung.

Kernpunkt: Eine über die File API gelesene Datei unterscheidet sich nicht vom Öffnen einer Datei in einer Desktop-App. Die Daten berühren niemals das Netzwerk.

Schritt 2: Verarbeitung — WebAssembly, Canvas und JavaScript

Sobald die Datei im Speicher ist, läuft die Konvertierungslogik. Verschiedene Konvertierungstypen verwenden unterschiedliche Browser-Technologien:

PDF-Operationen (Zusammenführen, Aufteilen, Drehen) — pdf-lib via JavaScript

pdf-lib ist eine reine JavaScript-Bibliothek, die PDF-Dateien analysiert, erstellt und modifiziert. Operationen wie das Zusammenführen zweier PDFs oder das Drehen von Seiten erfolgen als In-Memory-Array-Transformationen.

PDF-Rendering (PDF in Bilder) — pdfjs-dist via WebAssembly

PDF.js (Mozillas Open-Source-PDF-Renderer) ist zu WebAssembly kompiliert und rendert PDF-Seiten auf HTML-Canvas-Elemente. Kein Server. Kein Plugin.

Bildoperationen (Komprimieren, Skalieren, Konvertieren) — Canvas API

Die Canvas API gibt JavaScript direkten Zugriff auf einen Pixel-Puffer. canvas.toBlob() kodiert die Pixeldaten als JPEG oder WebP mit dem eingebauten Browser-Codec.

Schritt 3: Die Oberfläche reaktionsfähig halten — Web Workers

JavaScript ist standardmäßig single-threaded. Ein 50-MB-PDF im Hauptthread zu verarbeiten würde Ihren Browser-Tab einfrieren. Rechenintensive Arbeit wird daher in einen Web Worker ausgelagert.

Web Workers sind isoliert: Sie können ohne explizite Genehmigung nicht auf DOM, Cookies oder das Netzwerk zugreifen.

Schritt 4: Ergebnis herunterladen

Sobald die Verarbeitung abgeschlossen ist, ist das Ergebnis ein In-Memory-Blob. Der Browser erstellt eine temporäre URL (URL.createObjectURL) und löst einen Download aus. Die Datei geht direkt vom Browserspeicher auf Ihre Festplatte.

Was ist mit Leistungsgrenzen?

Die browserbasierte Verarbeitung wird durch den verfügbaren RAM und die CPU Ihres Geräts begrenzt. Moderne Browser können Dateien bis zu mehreren Hundert Megabyte problemlos handhaben.

  • Ein 100-seitiges PDF ist typischerweise 5–15 MB — in Sekunden verarbeitet
  • Ein 20-MP-Foto sind ca. 60 MB unkomprimiert im Speicher — problemlos verarbeitet
  • Ein Stapel von 50 Bildern wird sequenziell verarbeitet, jedes schnell

Die Sandbox-Garantie

Jeder Code auf einer Webseite — einschließlich WebAssembly-Module — läuft in der Sicherheits-Sandbox des Browsers. Code kann nicht auf Ihr Dateisystem zugreifen, außer was Sie explizit erlauben, und kann keine Netzwerkanfragen stellen ohne Initiierung durch das JavaScript der Seite.

Sie können überprüfen, dass keine Netzwerkanfrage gestellt wird, indem Sie die DevTools (F12) öffnen, zum Netzwerk-Tab wechseln und die Konvertierung beobachten.

Open-Source-Transparenz

Die von converteo.app verwendeten Kernbibliotheken sind Open Source und prüfbar:

  • pdf-lib — MIT-Lizenz, auf GitHub prüfbar
  • PDF.js — Apache 2.0, entwickelt von Mozilla
  • libheif/libde265 — HEIC-Dekodierung, LGPL

Häufig gestellte Fragen

Muss der Browser die Konvertierungsbibliothek herunterladen?

Ja — einmalig. JavaScript- und WebAssembly-Module werden beim ersten Besuch heruntergeladen und können gecacht werden. Dieser Download ist der Bibliothekscode, nicht Ihre Datei.

Was passiert mit meiner Datei, wenn ich den Tab schließe?

Der Browser gibt den von Ihrer Datei genutzten Speicher frei. Es bleibt keinerlei Spur der Originaldatei oder ihrer konvertierten Version zurück.

Könnte das JavaScript der Website meine Datei heimlich hochladen?

Bei converteo.app können Sie den Netzwerk-Tab öffnen und in Echtzeit verifizieren, dass kein Datei-Upload stattfindet. Sie können auch uBlock Origin verwenden, um alle ausgehenden Anfragen zu blockieren — die Konvertierung funktioniert trotzdem.

Ist WebAssembly sicher?

WebAssembly läuft in derselben Sicherheits-Sandbox wie JavaScript. Es kann nicht direkt auf Dateisystem, Netzwerk oder Betriebssystem zugreifen. Es ist seit 2019 vom W3C standardisiert.