Herramientas de Desarrollo
Generador de archivos ficticios
Genera archivos ficticios de un tamaño exacto en bytes —imágenes, audio, vídeo, PDF, texto y más— completamente en tu navegador. Útil para probar los límites de tamaño de formularios de carga. Los archivos nunca se envían a ningún servidor.
Formato
| Formato | Extensión | Tipo MIME | Límite según la especificación | Notas |
|---|---|---|---|---|
| Texto (TXT) | .txt |
text/plain |
Prácticamente ilimitado | Relleno con texto legible repetido |
| CSV | .csv |
text/csv |
Prácticamente ilimitado | Datos de tabla ficticios con fila de encabezado |
| JSON | .json |
application/json |
Prácticamente ilimitado | Relleno en un único campo de tipo cadena |
| Binario (BIN) | .bin |
application/octet-stream |
Prácticamente ilimitado | Bytes arbitrarios que repiten de 0x00 a 0xFF |
| Imagen (PNG) | .png |
image/png |
Prácticamente ilimitado | Imagen válida de 1x1 + fragmento de relleno |
| Audio (WAV) | .wav |
audio/wav |
4 GiB | Datos PCM silenciosos (reproducibles de verdad) |
| Vídeo (MP4) | .mp4 |
video/mp4 |
Prácticamente ilimitado | Grabación real en navegadores compatibles; relleno con estructura válida en el resto |
| Vídeo (WebM) | .webm |
video/webm |
Prácticamente ilimitado | Animación de unos segundos grabada de verdad (solo en navegadores compatibles) |
.pdf |
application/pdf |
Prácticamente ilimitado | PDF válido de una página en blanco | |
| ZIP | .zip |
application/zip |
4 GiB | Archivo sin comprimir con una única entrada |
Consejos para generar archivos ficticios
- La lógica de validación de los formularios de carga suele comprobar por separado tres cosas: la extensión, el tipo MIME y el tamaño del archivo. Como esta herramienta genera archivos válidos en todo lo demás, puedes probar únicamente el límite de tamaño de forma aislada.
- Un límite de "hasta 10 MB" puede significar 10.000.000 bytes (106) en una implementación y 10.485.760 bytes (220) en otra. El selector de unidad te permite elegir ambos criterios, para probar tanto el valor límite exacto como un byte por encima de él.
- Chrome y Edge transmiten los datos directamente a la unidad elegida, por lo que se pueden generar archivos de decenas de gigabytes sin saturar la memoria. Firefox y Safari ensamblan el archivo en memoria primero, lo que impone un límite práctico de tamaño.
- En navegadores compatibles, el vídeo (MP4/WebM) se graba realmente como unos segundos de animación mediante el codificador integrado del navegador, por lo que se reproduce de verdad al abrirlo. Todo lo demás —el relleno que compone la mayor parte del archivo, y el contenido de los demás formatos de imagen y audio— es ficticio. El objetivo es únicamente probar la validación de tamaño, extensión y tipo MIME.
Preguntas frecuentes
A propósito — Dónde termina lo "válido" y empieza lo "corrupto"
La mayoría de los formatos de archivo reservan regiones que el analizador (parser) tiene permitido saltarse: los fragmentos desconocidos de PNG, la caja free de MP4 y el elemento Void de WebM son ejemplos de ello. Se diseñaron desde el principio como espacio reservado para futuras extensiones que los analizadores actuales deben ignorar, así que rellenarlos nunca corrompe el archivo.
En el caso del vídeo, lo hacemos realmente reproducible colocando metraje real antes del relleno. Escribir a mano la codificación a nivel de bits de un códec es demasiado difícil de garantizar como correcta, así que, en su lugar, dejamos que el propio codificador integrado del navegador (la API MediaRecorder) grabe unos segundos de una animación en un lienzo (canvas) y añadimos el relleno después. Es una forma de conciliar "devolver siempre un archivo garantizado como válido" con "el usuario quiere ver de verdad un vídeo".
Curiosamente, un archivo ZIP está diseñado de forma que basta con leer el "directorio central" al final para conocer la lista completa de su contenido. Se dice que esto es un vestigio de la era de las cintas magnéticas, cuando se leía desde el final, y hoy sigue siendo la razón por la que se puede extraer rápidamente un único archivo de un ZIP enorme.