Alle Dateien entstehen in deinem Browser, kein Upload, kein Server
Dateigenerator · 14 Formate

Beispieldateien erzeugen

Echte, gültige Testdateien für Upload-Formulare, Layouts und Demos: Format wählen, Größe festlegen, herunterladen. Nichts wird hochgeladen, alles entsteht direkt in deinem Browser.

Deine Datei
beispiel.pdf

Kostenlos und frei verwendbar, auch kommerziell.

Anzeige
AdSense In-Article · direkt nach dem Download-Button

Testdateien mit exakter Größe

Für Upload-Limits, Speedtests und Fehlermeldungen: Diese Dateien haben auf das Byte genau die angegebene Größe.

GrößeBytesBei 50 Mbit/sBei 250 Mbit/sDownload
Rechner

Wie lange dauert der Download?

Dateigröße und Leitung eintragen — der Rechner zeigt die Dauer und gleich daneben, wie es mit anderen Anschlüssen aussieht.

Geschätzte Dauer
6 Min. 16 Sek.

Typische Größen:

Warum 100 Mbit/s keine 100 MB pro Sekunde sind

Provider werben in Bit, dein Downloadfenster zählt in Byte. Acht Bit ergeben ein Byte, also teilst du die beworbene Zahl durch acht: Aus 100 Mbit/s werden maximal 12,5 MB/s. Dazu kommen Protokoll-Overhead, WLAN-Verluste und ausgelastete Server — realistisch bleiben etwa 85 bis 90 Prozent übrig.

AnschlussBeworbenTheoretisch max.Realistisch1 GB dauert
DSL 1616 Mbit/s2,0 MB/s1,8 MB/s9 Min. 15 Sek.
VDSL 5050 Mbit/s6,3 MB/s5,6 MB/s2 Min. 58 Sek.
VDSL 100100 Mbit/s12,5 MB/s11,3 MB/s1 Min. 29 Sek.
Kabel 250250 Mbit/s31,3 MB/s28,1 MB/s36 Sek.
Glasfaser 10001.000 Mbit/s125 MB/s112,5 MB/s9 Sek.
5G (gut)300 Mbit/s37,5 MB/s30,0 MB/s33 Sek.

Häufige Fragen

Sind die erzeugten Dateien echt?

Ja. PDF, DOCX und XLSX werden als gültige Dateien nach Standard aufgebaut und lassen sich in Word, Excel, LibreOffice und jedem PDF-Reader öffnen. Bilder entstehen über das Canvas-Element deines Browsers.

Darf ich die Dateien kommerziell nutzen?

Ja, uneingeschränkt. Es sind maschinell erzeugte Platzhalter ohne fremde Inhalte oder Rechte Dritter.

Wie bekomme ich eine Datei mit exakt 10 MB?

Über die Tabelle mit den festen Größen oder über das Feld „Zielgröße" im Generator. Dort werden Füllbytes angehängt, bis die Datei genau die gewünschte Anzahl Bytes hat.

Werden meine Eingaben übertragen?

Nein. Der Generator läuft komplett im Browser, es findet kein Upload und kein Serverkontakt statt.

Braucht deine Website solche Tools?

Wir bauen Rechner, Generatoren und Konfiguratoren, die zu deiner Marke passen — inklusive Hosting auf unserem Agenturserver und laufender Betreuung. Whale Marketing, Nürnberg.

Projekt besprechen
\n`)}, png:{ext:'PNG',kind:'Bild',mime:'image/png',opts:['dim','color','target'],img:'image/png'}, jpg:{ext:'JPG',kind:'Bild',mime:'image/jpeg',opts:['dim','color','target'],img:'image/jpeg'}, webp:{ext:'WEBP',kind:'Bild',mime:'image/webp',opts:['dim','color','target'],img:'image/webp'}, svg:{ext:'SVG',kind:'Vektor',mime:'image/svg+xml',opts:['dim','color','target'], build:o=>enc(`\n \n ${o.w} × ${o.h}\n`)}, zip:{ext:'ZIP',kind:'Archiv',mime:'application/zip',opts:['target'], build:o=>zip([{name:'liesmich.txt',data:enc('Beispielarchiv von rechnerfuchs.de\n\n'+LOREM)},{name:'daten/beispiel.csv',data:enc(ROWS.map(r=>r.join(';')).join('\n'))},{name:'daten/beispiel.json',data:enc(JSON.stringify({quelle:'rechnerfuchs.de',ok:true},null,2))}])}, bin:{ext:'BIN',kind:'Testdatei',mime:'application/octet-stream',opts:['target'], build:o=>{const n=o.target||1048576;const a=new Uint8Array(n);for(let i=0;i ``).join(''); formats.addEventListener('click',e=>{ const b=e.target.closest('.fmt'); if(!b) return; fmt=b.dataset.f; formats.querySelectorAll('.fmt').forEach(x=>x.setAttribute('aria-pressed',x.dataset.f===fmt)); buildOpts(); }); const OPT_HTML={ dim:`
`, color:`
`, pages:`
`, paras:`
`, rows:`
`, text:`
`, target:`
` }; function buildOpts(){ const f=FORMATS[fmt]; optsEl.innerHTML = `Einstellungen` + f.opts.map(o=>OPT_HTML[o]).join('') + `

Füllbytes werden nur angehängt, wenn du eine Zielgröße wählst. Die Datei bleibt dabei gültig und lässt sich normal öffnen.

`; optsEl.querySelectorAll('input,select').forEach(i=>i.addEventListener('input',refresh)); optsEl.querySelectorAll('[data-dim]').forEach(b=>b.addEventListener('click',()=>{ const [w,h]=b.dataset.dim.split('x'); optsEl.querySelector('#w').value=w; optsEl.querySelector('#h').value=h; refresh(); })); refresh(); } function opts(){ const g=id=>{const el=optsEl.querySelector('#'+id); return el?el.value:null;}; return {w:parseInt(g('w'))||1920,h:parseInt(g('h'))||1080,color:g('color')||'#0E1726', label:g('label')||'Platzhalter',pages:parseInt(g('pages'))||1,paras:parseInt(g('paras'))||6, rows:parseInt(g('rows'))||20,text:g('text')||'Beispieldokument',target:parseInt(g('target'))||0}; } function drawCanvas(o){ cv.width=o.w; cv.height=o.h; const x=cv.getContext('2d'); x.fillStyle=o.color; x.fillRect(0,0,o.w,o.h); x.strokeStyle='rgba(255,255,255,.28)'; x.lineWidth=Math.max(2,o.w/240); x.strokeRect(x.lineWidth*2,x.lineWidth*2,o.w-x.lineWidth*4,o.h-x.lineWidth*4); x.beginPath(); x.moveTo(0,0); x.lineTo(o.w,o.h); x.moveTo(o.w,0); x.lineTo(0,o.h); x.stroke(); x.fillStyle='#fff'; x.textAlign='center'; x.textBaseline='middle'; const s=Math.min(o.w,o.h); x.font=`700 ${Math.round(s/9)}px "Instrument Sans", sans-serif`; x.fillText(`${o.w} × ${o.h}`, o.w/2, o.h/2 - s/16); x.font=`500 ${Math.round(s/22)}px "Instrument Sans", sans-serif`; x.fillText(o.label, o.w/2, o.h/2 + s/10); cv.style.display='block'; } async function makeBytes(){ const o=opts(), f=FORMATS[fmt]; if(f.img){ drawCanvas(o); const blob=await new Promise(r=>cv.toBlob(r,f.img,fmt==='jpg'?.85:.92)); const bytes=new Uint8Array(await blob.arrayBuffer()); return pad(bytes,o.target,''); } cv.style.display = (fmt==='svg')?'block':'none'; if(fmt==='svg') drawCanvas(o); const bytes=f.build(o); return pad(bytes,o.target, fmt==='bin'?'':'\n% Fuellbytes rechnerfuchs.de\n'); } async function refresh(){ const o=opts(), f=FORMATS[fmt]; const name = fmt==='bin' ? `testdatei-${bytesLabel(o.target||1048576).replace(/[\s,]/g,'')}.bin` : `beispieldatei.${fmt}`; fname.textContent=name; const bytes=await makeBytes(); window.__bytes=bytes; window.__name=name; window.__mime=f.mime; const rows=[['Format',f.ext+' · '+f.kind],['Größe',bytesLabel(bytes.length)],['Bytes',new Intl.NumberFormat('de-DE').format(bytes.length)]]; if(f.img||fmt==='svg') rows.push(['Maße',`${o.w} × ${o.h} px`]); rows.push(['Bei 100 Mbit/s', secLabel(bytes.length*8/(100e6*.9))]); facts.innerHTML=rows.map(([k,v])=>`${k}${v}`).join(''); } dl.addEventListener('click',()=>download(window.__bytes,window.__name,window.__mime)); /* ================= Download-Dauer ================= */ function secLabel(s){ if(!isFinite(s)||s<=0) return '—'; if(s<1) return Math.round(s*1000)+' ms'; if(s<60) return nf.format(s)+' Sek.'; const m=Math.floor(s/60), r=Math.round(s%60); if(s<3600) return `${m} Min. ${r} Sek.`; const h=Math.floor(s/3600), mm=Math.round((s%3600)/60); if(s<86400) return `${h} Std. ${mm} Min.`; return `${Math.floor(s/86400)} Tage ${Math.round((s%86400)/3600)} Std.`; } const LINES=[['DSL 16',16e6],['VDSL 50',50e6],['VDSL 100',100e6],['Kabel 250',250e6],['Glasfaser 1000',1e9],['LTE (gut)',50e6],['5G (gut)',300e6]]; const fs=document.getElementById('fs'),fsu=document.getElementById('fsu'),bw=document.getElementById('bw'), bwu=document.getElementById('bwu'),ov=document.getElementById('ov'),dur=document.getElementById('dur'), say=document.getElementById('say'),bars=document.getElementById('bars'); function num(el){return parseFloat(String(el.value).replace(/\./g,'').replace(',','.'));} function calcDL(){ const bytes=num(fs)*parseFloat(fsu.value), bits=bytes*8; const bps=num(bw)*parseFloat(bwu.value)*parseFloat(ov.value); if(isNaN(bytes)||isNaN(bps)||bps<=0){dur.textContent='—';say.textContent='Bitte beide Werte eintragen.';bars.innerHTML='';return;} const s=bits/bps; dur.textContent=secLabel(s); say.textContent=`${bytesLabel(bytes)} bei ${nf.format(bps/8/1e6)} MB/s effektiv. Ohne Overhead wären es ${secLabel(bits/(num(bw)*parseFloat(bwu.value)))}.`; const times=LINES.map(([n,r])=>[n,bits/(r*parseFloat(ov.value))]); const max=Math.max(...times.map(t=>t[1])); bars.innerHTML=times.map(([n,t])=>`
${n}${secLabel(t)}
`).join(''); } [fs,fsu,bw,bwu,ov].forEach(el=>el.addEventListener('input',calcDL)); document.querySelectorAll('[data-set]').forEach(b=>b.addEventListener('click',()=>{ const [v,u]=b.dataset.set.split('|'); fs.value=v; fsu.value=u; calcDL(); })); /* ================= Tabelle feste Größen ================= */ const FIXED=[['1 kB',1024],['100 kB',102400],['1 MB',1048576],['5 MB',5242880],['10 MB',10485760],['50 MB',52428800],['100 MB',104857600]]; document.getElementById('fixedRows').innerHTML=FIXED.map(([l,b])=> `${l}${new Intl.NumberFormat('de-DE').format(b)}${secLabel(b*8/(50e6*.9))}${secLabel(b*8/(250e6*.9))} `).join(''); document.getElementById('fixedRows').addEventListener('click',e=>{ const b=e.target.closest('[data-bytes]'); if(!b) return; const n=parseInt(b.dataset.bytes), a=new Uint8Array(n); for(let i=0;i