4 Min. Lesezeit
Was ein Tool lädt, bevor du etwas anklickst
Unser Hintergrund-Entferner schickte 1386 KB JavaScript auf dein Handy, bevor du überhaupt ein Foto ausgewählt hattest. Niemand hatte danach gefragt, und nichts auf dem Bildschirm brauchte es. Hier steht, wie es dorthin kam, worauf wir es gebracht haben und wie du jedes Tool in dreißig Sekunden selbst misst.
Die Zahl, die niemand veröffentlicht
Ihre Funktionsliste veröffentlicht jede Tool-Seite. Was die Seite wiegt, bevor man sie benutzt, fast keine. Genau diese Zahl entscheidet aber, wie sich ein Tool anfühlt: Auf dem Handy im normalen Mobilfunknetz ist jede Portion von rund 400 KB JavaScript eine weitere Sekunde, in der man auf eine Seite schaut, die fertig aussieht und es nicht ist.
Für uns zählt das mehr als für andere. nopa arbeitet auf deinem Gerät — Zusammenfügen, Komprimieren, Transkribieren passiert im Browser, hochgeladen wird nichts. Die Kehrseite dieses Versprechens: Der Code muss erst ankommen. Der Download ist kein Beiwerk um das Produkt herum. Er ist das Produkt bei seiner Ankunft.
Wie wir gemessen haben
Ein Skript in unserem Repository öffnet jede Route in einem echten Chromium, mit leerem Cache und abgeschaltetem Service Worker, und addiert die Größe aller Skripte, die die Seite vor jeder Interaktion anfordert. Die Zahlen sind unkomprimiert: Komprimiert der Server, gehen weniger Bytes über die Leitung, aber dein Handy muss trotzdem jedes einzelne lesen und ausführen.
Wir haben das über die ganze Seite laufen lassen: Startseite, Katalog und Hubs, jede Tool-Seite. Zwei Routen kamen mit über einem Megabyte zurück, drei weitere mit über 800 KB.
Was wir im eigenen Code gefunden haben
Die Spalte „vorher“ ist das, was wir ausgeliefert haben. Die Spalte „nachher“ ist dieselbe Seite, gemessen im September 2026 — ohne dass eine einzige Funktion entfernt wurde. Beide Spalten sind unkomprimiert.
| Seite | Vorher | Nachher, Sept. 2026 |
|---|---|---|
| Hintergrund entfernen | 1386 KB | 405 KB |
| Emoji | 1318 KB | 740 KB |
| Transkription | 940 KB | 402 KB |
| Datei-Konverter | 845 KB | 403 KB |
| Reader | 839 KB | 427 KB |
| Startseite | 325 KB | 28 KB |
| Katalog und Hubs | 318 KB | 21 KB |
Es liegt nie an der Funktion. Es liegt am Import.
Keine dieser Seiten war schwer wegen dem, was sie tut. Jedes Mal war es eine einzelne Zeile am Anfang einer Datei, die etwas hereinzog, das die Seite nie ausführen würde.
- Eine Prüfung „ist das KI-Modell schon geladen?“ zog die komplette Machine-Learning-Runtime — 539 KB — auf Seiten, die nie ein Modell laden. Sie liest den Browser-Cache jetzt direkt, in neun Zeilen.
- Ein Zip-Helfer war oben in der PDF-Engine importiert, also lud jede Seite, die irgendetwas packte, zusätzlich 443 KB PDF-Code. Ihn erst beim Benutzen zu laden hat vier Tool-Seiten halbiert.
- Die Emoji-Auswahl lieferte ihre Stichworttabelle — die Hälfte des Datensatzes — vor dem ersten Tastendruck aus. Jetzt kommt sie mit der ersten Suche, also genau dann, wenn sie überhaupt jemand liest.
- Eine ganze Animationsbibliothek wurde für ein einziges Panel geladen, das auf Handys hochfährt. Der Browser hat eine eingebaute Animations-API; die Bibliothek ist raus.
- Ein 373 KB großer Katalogindex wurde auf jeder Seite geladen, um eine Zeile mit Links zu verwandten Tools zu zeichnen.
Warum hier keine Zahlen der Konkurrenz stehen
Wir wollten andere Tools in diese Tabelle setzen. Ehrlich ging das nicht. Der erste Versuch lud die Seiten der Konkurrenz und zählte die Skripte im HTML; heraus kam, dass eine bekannte PDF-Suite 2 KB JavaScript ausliefert — weil die eigentliche Anwendung vom JavaScript nachgeladen wird und nicht in der Seite steht. Eine Zahl, die wir nicht reproduzieren können, ist schlechter als gar keine, und ein Vergleich, in dem wir uns selbst benoten, ist kein Vergleich.
Deshalb stehen in der Tabelle nur eigene Seiten. Und statt Zahlen, die du uns glauben müsstest, hier die Methode.
Jedes Tool in dreißig Sekunden messen
Funktioniert auf jeder Seite, auch auf unserer. Wenn unsere Zahlen nicht stimmen, erwischst du uns so.
- Tool im Desktop-Browser öffnen, Entwicklertools starten (F12), Reiter „Network“.
- „Disable cache“ anhaken, auf JS filtern, Seite neu laden.
- Unten die Summe „transferred“ ablesen, bevor du irgendetwas anklickst. Das ist der Download, den du bei jedem kalten Besuch bezahlst; die Summe „resources“ daneben ist die unkomprimierte Größe, wie in unserer Tabelle.
- Für das Local-First-Versprechen: Seite laden, dann das Netzwerk auf offline stellen und die Aufgabe ausführen. Klappt sie, rechnet dein Gerät. Klappt sie nicht, war deine Datei unterwegs.
Worauf wir uns jetzt festgelegt haben
Marketingseiten haben jetzt eine Obergrenze von 600 KB JavaScript. Das Skript, das sie misst, schlägt fehl, sobald eine Seite darüber liegt, und jeder Build prüft zusätzlich, dass keine Seite eine schwere Engine mitzieht, die sie nicht nutzt. Die einzige bekannte Ausnahme ist die Emoji-Auswahl mit etwa 740 KB. Genau das verhindert die Wiederholung: Die fünf Korrekturen oben haben einen Tag gekostet — nötig waren sie monatelang, nur weil niemand gezählt hat.
Die Tools sind da, wenn du sie brauchst, und keines verlangt eine Anmeldung dafür, dass du erfährst, wie schwer es ist.