Gerador de arquivos fictícios
Gere arquivos fictícios com um tamanho exato em bytes — imagens, áudio, vídeo, PDF, texto e mais — totalmente no seu navegador. Útil para testar os limites de tamanho de formulários de upload. Os arquivos nunca são enviados a um servidor.
Formato
| Formato | Extensão | Tipo MIME | Limite da especificação | Observações |
|---|---|---|---|---|
| Texto (TXT) | .txt |
text/plain |
Praticamente ilimitado | Preenchido com texto legível repetido |
| CSV | .csv |
text/csv |
Praticamente ilimitado | Dados de tabela fictícios com linha de cabeçalho |
| JSON | .json |
application/json |
Praticamente ilimitado | Preenchido em um único campo de string |
| Binário (BIN) | .bin |
application/octet-stream |
Praticamente ilimitado | Bytes arbitrários repetindo de 0x00 a 0xFF |
| Imagem (PNG) | .png |
image/png |
Praticamente ilimitado | Imagem válida de 1x1 + bloco de preenchimento |
| Áudio (WAV) | .wav |
audio/wav |
4 GiB | Dados PCM silenciosos (realmente reproduzíveis) |
| Vídeo (MP4) | .mp4 |
video/mp4 |
Praticamente ilimitado | Gravação real em navegadores compatíveis; placeholder com estrutura válida nos demais |
| Vídeo (WebM) | .webm |
video/webm |
Praticamente ilimitado | Animação de poucos segundos realmente gravada (apenas em navegadores compatíveis) |
.pdf |
application/pdf |
Praticamente ilimitado | PDF válido de uma página em branco | |
| ZIP | .zip |
application/zip |
4 GiB | Arquivo não compactado com uma única entrada |
O que é um gerador de arquivos fictícios
Ao criar uma função de upload, é preciso confirmar se os limites de tamanho e as verificações de extensão realmente funcionam como esperado. Para isso, é necessário um arquivo que seja "exatamente de um determinado número de bytes, mas ainda válido para o seu formato" — e esse tipo de arquivo raramente está à mão. Esta ferramenta gera texto, imagens, áudio, vídeo, PDFs, arquivos ZIP e muito mais, cada um com o tamanho exato solicitado.
Todo arquivo gerado é composto por dados válidos de acordo com a especificação do seu formato. Muitos formatos reservam áreas que um leitor pode ignorar sem problema, e é justamente nessas áreas que a ferramenta insere o preenchimento para ajustar o tamanho, de modo que nenhum erro ocorre ao abrir o arquivo. Todo o processamento acontece dentro do navegador, e nada é enviado a um servidor. Vale notar que WAV e ZIP têm um limite de 4 GiB definido pela própria especificação do formato.
Como gerar um arquivo fictício
- Escolha o formato do arquivo Selecione o formato aceito pelo que você quer testar. Para testar a validação de extensão ou tipo MIME, escolha exatamente esse formato.
- Informe o tamanho Digite um número e uma unidade. Se o limite testado for "10MB", lembre-se de que o limite muda conforme a interpretação seja 10.000.000 ou 10.485.760 bytes.
- Defina o nome do arquivo Você pode incluir a extensão no nome escolhido. Altere este campo se quiser testar regras de rejeição baseadas no nome.
- Gere e baixe o arquivo Ao clicar em "Gerar", o arquivo é criado. Tamanhos maiores demoram mais, e você pode cancelar o processo a qualquer momento enquanto ele estiver em andamento.
Dicas para aproveitar melhor
- A lógica de validação dos formulários de upload costuma verificar separadamente três coisas: extensão, tipo MIME e tamanho do arquivo. Como esta ferramenta gera arquivos válidos em tudo o mais, você pode testar apenas o limite de tamanho de forma isolada.
- Um limite de "até 10MB" pode significar 10.000.000 bytes (106) em uma implementação e 10.485.760 bytes (220) em outra. O seletor de unidade permite escolher os dois critérios, para testar tanto o valor exato do limite quanto um byte acima dele.
- Chrome e Edge transmitem os dados diretamente para a unidade escolhida, então arquivos com dezenas de gigabytes podem ser gerados sem sobrecarregar a memória. Firefox e Safari montam o arquivo na memória primeiro, o que impõe um limite prático de tamanho.
- Em navegadores compatíveis, o vídeo (MP4/WebM) é gravado de verdade como alguns segundos de animação usando o codificador embutido do navegador, por isso ele realmente é reproduzido ao ser aberto. Todo o restante — o preenchimento que compõe a maior parte do arquivo, e o conteúdo dos demais formatos de imagem e áudio — é fictício. O objetivo é apenas testar a validação de tamanho, extensão e tipo MIME.
Usos para arquivos fictícios
Teste de valores-limite em uploads
Crie um arquivo exatamente no limite e outro um byte acima para testar os dois. Assim você confirma se a mensagem de erro aparece exatamente onde a especificação prevê.
Verificação da checagem de extensão e tipo MIME
Gere um formato permitido e outro proibido e envie ambos, para identificar qual dos dois critérios está realmente causando a rejeição.
Verificação do comportamento em transferências grandes
Com arquivos de vários gigabytes, você pode testar se o indicador de progresso, os tempos limite e a retomada após interrupção funcionam corretamente, sem precisar de dados reais.
Estimativa de armazenamento e largura de banda
Colocar de fato um arquivo do tamanho esperado permite medir na prática o consumo de armazenamento e o tempo de transferência.
Termos sobre validação de arquivos
- Tipo MIME
- Uma string que indica o tipo de um arquivo, escrita como
image/png, comumente usada para decidir se um upload é permitido. - Teste de valores-limite
- Um método de teste que verifica o ponto exato de um limite junto com os valores logo antes e logo depois dele, já que é ali que os defeitos mais aparecem.
- Preenchimento
- Dados sem significado adicionados apenas para atingir o tamanho desejado. São colocados em áreas que o formato permite ignorar, então o arquivo permanece íntegro.
- GiB e GB
- Um GiB equivale a 1.073.741.824 bytes, enquanto um GB equivale a 1.000.000.000 bytes. Essa diferença é uma causa comum de interpretações divergentes sobre limites de tamanho.
- Escrita em fluxo (streaming)
- Um método que grava os dados no destino aos poucos, permitindo que até arquivos muito grandes sejam processados sem carregar tudo na memória de uma vez.
Perguntas frequentes
Curiosidade — Onde termina o "válido" e começa o "corrompido"
A maioria dos formatos de arquivo reserva regiões que o analisador (parser) tem permissão para pular: os blocos desconhecidos do PNG, a caixa free do MP4 e o elemento Void do WebM são exemplos disso. Eles foram projetados desde o início como espaço reservado para extensões futuras que os analisadores atuais devem ignorar, portanto preenchê-los nunca corrompe o arquivo.
No caso do vídeo, tornamos a reprodução realmente possível colocando imagens reais antes do preenchimento. Escrever manualmente a codificação em nível de bits de um codec é algo cuja correção é difícil de garantir, então, em vez disso, deixamos que o próprio codificador embutido do navegador (a API MediaRecorder) grave alguns segundos de uma animação em canvas, adicionando o preenchimento depois. É uma forma de conciliar "sempre retornar um arquivo garantidamente válido" com "o usuário realmente quer ver um vídeo".
Curiosamente, um arquivo ZIP é projetado de forma que basta ler o "diretório central" no final para conhecer toda a lista de conteúdo. Diz-se que isso é um resquício da era das fitas magnéticas, quando a leitura era feita a partir do final, e ainda hoje é o motivo pelo qual é possível extrair rapidamente um único arquivo de um ZIP enorme.