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 .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

No. Todo el proceso de generación ocurre dentro de tu navegador y el contenido nunca se envía a ningún servidor.

Sí: en navegadores compatibles (como Chrome), el codificador integrado del navegador graba realmente unos segundos de animación, por lo que se reproduce al abrirlo. La mayor parte del archivo es relleno añadido para alcanzar el tamaño exacto. El MP4 recurre automáticamente a un archivo de relleno con estructura válida en navegadores que no admiten la grabación, por lo que la generación en sí nunca falla. El WebM solo se puede seleccionar en navegadores que admiten la grabación.

Porque en ambos formatos el campo que registra el tamaño del archivo está fijado por especificación en 32 bits (un máximo de unos 4,29 GB). No es una limitación de nuestra implementación, sino un límite de la propia especificación del formato.

TXT, CSV, JSON, BIN, PNG, PDF, MP4 y WebM no tienen límite superior en la especificación del formato, así que con la última versión de Chrome o Edge (que admiten escritura directa en disco) puedes generar archivos de tamaño muy grande.
ツールくん

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.