Entwickler-Tools

Dummy-Datei-Generator

Erzeuge Dummy-Dateien mit exakt der angegebenen Bytegröße – Bilder, Audio, Video, PDFs, Text und mehr – vollständig im Browser. Praktisch zum Testen von Größenlimits bei Upload-Formularen. Die Dateien werden niemals an einen Server gesendet.


Format

Format Dateiendung MIME-Typ Obergrenze laut Spezifikation Hinweis
Text (TXT) .txt text/plain Praktisch unbegrenzt Gefüllt mit lesbarem, sich wiederholendem Text
CSV .csv text/csv Praktisch unbegrenzt Dummy-Tabellendaten mit Kopfzeile
JSON .json application/json Praktisch unbegrenzt In ein einzelnes String-Feld gefüllt
Binärdatei (BIN) .bin application/octet-stream Praktisch unbegrenzt Beliebige Bytes, die 0x00 bis 0xFF wiederholen
Bild (PNG) .png image/png Praktisch unbegrenzt Gültiges 1x1-Bild + Füll-Chunk
Audio (WAV) .wav audio/wav 4 GiB Stille PCM-Daten (tatsächlich abspielbar)
Video (MP4) .mp4 video/mp4 Praktisch unbegrenzt Echte Aufnahme in unterstützten Browsern, sonst Platzhalter mit ausschließlich gültiger Struktur
Video (WebM) .webm video/webm Praktisch unbegrenzt Tatsächlich aufgezeichnete, wenige Sekunden lange Animation (nur unterstützte Browser)
PDF .pdf application/pdf Praktisch unbegrenzt Gültige leere einseitige PDF
ZIP .zip application/zip 4 GiB Unkomprimiertes Archiv mit einem einzelnen Eintrag

Tipps zur Dummy-Datei-Erzeugung

  • Die Validierungslogik von Upload-Formularen prüft oft Dateiendung, MIME-Typ und Dateigröße als drei getrennte Schritte. Da dieses Tool Dateien erzeugt, die in jeder anderen Hinsicht der Spezifikation entsprechen, lässt sich gezielt nur das Größenlimit testen.
  • Ein Limit von "bis zu 10 MB" kann je nach Implementierung 10.000.000 Byte (106) oder 10.485.760 Byte (220) bedeuten. Über die Einheitenauswahl lassen sich beide Basen wählen, sodass sowohl der genaue Grenzwert als auch ein Byte darüber getestet werden kann.
  • Chrome und Edge schreiben die Daten direkt und gestreamt auf das gewählte Laufwerk, sodass sich auch Dateien im Umfang mehrerer Dutzend Gigabyte erzeugen lassen, ohne den Arbeitsspeicher zu belasten. Firefox und Safari setzen die Datei zunächst im Arbeitsspeicher zusammen, was eine praktische Obergrenze für die Größe mit sich bringt.
  • In unterstützten Browsern wird Video (MP4/WebM) mit dem browserinternen Encoder tatsächlich als einige Sekunden lange Animation aufgezeichnet, sodass es beim Öffnen wirklich abgespielt werden kann. Alles andere – das Füllmaterial, das den Großteil der Datei ausmacht, sowie der Inhalt der übrigen Bild- und Audioformate – ist ein Dummy. Der Zweck ist ausschließlich das Testen von Größe, Dateiendung und MIME-Typ-Validierung.

Häufig gestellte Fragen

Nein. Der gesamte Erzeugungsvorgang läuft vollständig im Browser ab, und der Inhalt wird zu keinem Zeitpunkt an einen Server gesendet.

Ja – in unterstützten Browsern (z. B. Chrome) zeichnet der browserinterne Encoder tatsächlich einige Sekunden einer Animation auf, sodass die Datei beim Öffnen abgespielt werden kann. Der Großteil der Datei besteht aus Füllmaterial, das hinzugefügt wird, um die exakte Größe zu erreichen. MP4 wechselt in Browsern ohne Aufnahmeunterstützung automatisch zu einem Platzhalter mit ausschließlich gültiger Struktur, sodass die Erzeugung selbst niemals fehlschlägt. WebM lässt sich nur in Browsern auswählen, die die Aufnahme unterstützen.

Weil bei beiden Formaten das Feld, das die Dateigröße speichert, laut Spezifikation fest auf 32 Bit begrenzt ist (maximal etwa 4,29 GB). Das ist keine Einschränkung unserer Implementierung, sondern eine Obergrenze der Formatspezifikation selbst.

TXT, CSV, JSON, BIN, PNG, PDF, MP4 und WebM haben laut Formatspezifikation keine Obergrenze. Mit der aktuellen Version von Chrome oder Edge (die das direkte Schreiben auf die Festplatte unterstützen) lassen sich daher extrem große Dateien erzeugen.
ツールくん

Übrigens – Wo "gültig" endet und "beschädigt" beginnt

Die meisten Dateiformate reservieren Bereiche, die ein Parser ausdrücklich überspringen darf – die unbekannten Chunks von PNG, die free-Box von MP4 und das Void-Element von WebM sind Beispiele dafür. Diese wurden von Anfang an als Platz reserviert, der für zukünftige Erweiterungen gedacht ist und von heutigen Parsern ignoriert werden soll – daher beschädigt das Auffüllen mit Füllmaterial die Datei niemals.

Bei Video machen wir die Datei tatsächlich abspielbar, indem wir vor dem Füllmaterial echtes Filmmaterial platzieren. Da sich die bitgenaue Kodierung eines Codecs von Hand kaum als korrekt garantieren lässt, überlassen wir diese Aufgabe stattdessen dem browsereigenen, eingebauten Encoder (der MediaRecorder-API), der einige Sekunden einer Canvas-Animation aufzeichnet, woraufhin das Füllmaterial angehängt wird. So lassen sich der Grundsatz "immer eine garantiert gültige Datei zurückgeben" und der Wunsch "der Nutzer möchte tatsächlich ein Video sehen" miteinander vereinbaren.

Interessanterweise ist eine ZIP-Datei so aufgebaut, dass es genügt, das "zentrale Verzeichnis" am Ende zu lesen, um die vollständige Liste ihres Inhalts zu erfahren. Dies gilt als Überbleibsel aus der Ära der Magnetbänder, als vom Ende her gelesen wurde, und ist auch heute noch der Grund, warum sich aus einer riesigen ZIP-Datei eine einzelne Datei blitzschnell herausziehen lässt.