LivreImage
EN

Privacidade

O site enviou sua foto para um servidor? Confira você mesmo

Em poucos minutos, com o que já vem no navegador, você descobre se uma ferramenta de imagem trabalha no seu aparelho ou manda o arquivo para um servidor — e o que cobrar dela quando manda.

Por LivreImageAtualizado em 8 min de leitura

Dá para conferir a promessa “sem upload”

Você precisa diminuir a foto da CNH para anexar a um cadastro, e o site de compressão garante que “seus arquivos não saem do aparelho”. Pode ser verdade, pode ser frase copiada de outro site. É uma das poucas promessas da internet que dá para conferir sozinho, sem instalar nada.

Uma página conversa com servidores por requisições de rede, e o navegador as registra no painel Rede (Network) das ferramentas de desenvolvedor. Se a sua foto de 3 MB saiu do aparelho, alguma linha dessa lista carregou cerca de 3 MB para fora.

Como abrir o painel Rede no Chrome, Edge, Firefox e Safari

Abra o painel antes de escolher a imagem: ele só registra o que acontece enquanto está aberto. No celular, esses painéis dependem de um computador conectado; lá, use o teste offline, mais abaixo.

Chrome e Edge

  1. Na página da ferramenta, pressione F12 ou Ctrl+Shift+I (no Mac, Cmd+Option+I). Botão direito > Inspecionar dá no mesmo.
  2. Abra a aba Network e marque Preserve log, para a lista sobreviver a uma recarga da página.
  3. Na caixa de filtro, digite method:POST. Depois repita com method:PUT.
  4. Escolha a imagem e use a ferramenta normalmente.
  5. Clique em cada linha que surgir. Em Headers, veja Content-Type e Content-Length entre os cabeçalhos da requisição; a aba Payload mostra os dados enviados.

Firefox

  1. Pressione Ctrl+Shift+E (no Mac, Cmd+Opt+E): o Monitor de Rede abre direto.
  2. No menu de ações da barra de ferramentas, ative Persist Logs.
  3. Filtre com method:post e use a ferramenta.
  4. Clique na requisição: a aba Headers traz os cabeçalhos e a aba Request mostra o que foi enviado.

Safari no Mac

  1. Em Safari > Ajustes > Avançado, marque a opção “Mostre recursos para desenvolvedores da web”.
  2. No menu Desenvolvedor, abra o Inspetor Web (⌥⌘I) e vá à aba Network.
  3. Clique com o botão direito no cabeçalho da tabela e ative a coluna Method; marque Preserve Log.
  4. Selecione a requisição: Headers mostra os cabeçalhos e Sizes detalha os tamanhos envolvidos.

Com o navegador em português, parte desses nomes aparece traduzida.

Como é um upload e como é o tráfego normal

Um upload costuma ter três marcas. O método é POST, que envia dados ao servidor, ou PUT, que cria ou substitui um recurso com o conteúdo enviado. O Content-Type costuma ser multipart/form-data, a codificação usada quando um formulário inclui arquivos. E o Content-Length, que informa em bytes o tamanho do corpo da mensagem, fica perto do tamanho da sua foto.

Cuidado com a coluna Size: no Chrome ela soma cabeçalhos e corpo da resposta. Um envio de 3 MB pode aparecer ali com poucas centenas de bytes, porque o servidor só respondeu “recebido”. O que saiu do aparelho está no Content-Length da requisição.

Nem todo POST é upload: estatísticas de uso também viajam assim, levando poucos dados. Na dúvida, leia o Payload: evento de uso é texto curto, com nomes e números.

O que aparece no painel Rede e o que significa
O que você vêO que significa
GET de arquivos .js, .css, .woff2 e imagens do próprio siteA página sendo baixada para o seu aparelho. GET pede dados e não deve levar corpo.
GET de um arquivo grande, como .wasm ou .onnx, no primeiro usoMotor ou modelo de IA baixado para rodar no aparelho. É tráfego de entrada.
Linhas que começam com blob: ou data:Recursos que já estão na memória do navegador, como a prévia da imagem. Nada cruzou a rede.
POST com poucas centenas de bytes de textoPequeno demais para ser a sua foto; em geral, evento de uso. Leia na aba Payload.
POST ou PUT com multipart/form-data e Content-Length parecido com o tamanho do seu arquivoUpload: o arquivo foi enviado.
POST com application/json e Content-Length cerca de um terço maior que o arquivoUpload em forma de texto: a imagem virou Base64, que ocupa cerca de um terço a mais.
Conexão do tipo WS (WebSocket) com mensagens binárias grandesEnvio por WebSocket. No Chrome, a aba Messages mostra o tamanho de cada mensagem.
Nenhuma linha nova de envio ao processar, e o resultado apareceO trabalho foi feito no seu aparelho.

Como fazer o teste do modo avião?

Sem rede não existe upload. Se a ferramenta entrega o resultado com o aparelho desconectado, o processamento aconteceu nele.

  1. Abra a página da ferramenta e espere carregar por completo.
  2. Se ela baixa algo no primeiro uso, como um modelo de IA, processe uma imagem qualquer ainda conectado.
  3. Ative o modo avião e confirme que o Wi-Fi também desligou: iPhone e Android permitem manter o Wi-Fi ligado nesse modo.
  4. Escolha a imagem, processe e salve o resultado.

O teste prova onde a imagem foi processada, não que nada será enviado depois: uma página pode adiar tarefas até a conexão voltar. No computador, simule a queda com a opção Offline do menu Throttling (Chrome, Edge e Firefox) e reconecte com o painel Rede aberto.

O que “processado no navegador” quer dizer

Quando você escolhe um arquivo, a página passa a ter acesso a ele pela File API — só aos arquivos que você entregou, pelo seletor ou arrastando. Em uma ferramenta como as nossas, o código decodifica a imagem, desenha os pixels em um canvas e pede ao navegador que grave o resultado com canvas.toBlob(), informando o formato e, em JPG ou WebP, a qualidade de 0 a 1. O arquivo baixado sai da memória, por um endereço blob:.

Tarefas mais pesadas, como rodar um modelo de IA, usam WebAssembly: código compilado que roda no navegador com desempenho próximo do nativo, no mesmo ambiente isolado do resto da página.

O limite honesto é a memória do aparelho. Cada pixel decodificado ocupa 4 bytes: uma foto de 48 megapixels, de 8.000 × 6.000, ocupa 192 MB aberta, qualquer que seja o tamanho do arquivo. O canvas também tem teto. Segundo a MDN, na maioria dos casos ele passa de 10.000 × 10.000 pixels, mas aparelhos iOS limitam a 4.096 × 4.096; acima do máximo, os comandos de desenho deixam de funcionar.

No LivreImage isso vira dois números: as ferramentas de conversão reduzem o que passa de 10.000 px no maior lado, e o removedor de fundo entrega no máximo 2.048 px.

O que o LivreImage pede à rede

Não precisa acreditar em nós: teste em comprimir imagem. O código do site faz estas requisições:

  • Arquivos do site: HTML, CSS, JavaScript, fontes e ícones, servidos por livreimage.com.
  • Bibliotecas sob demanda, baixadas de repositórios públicos (cdnjs e jsDelivr, com unpkg de reserva) só quando a ferramenta precisa: decodificador de HEIC, PDF, .zip, QR Code e o motor de IA onnxruntime.
  • Modelo de IA do removedor de fundo, servido por livreimage.com. No primeiro uso, motor e modelo somam cerca de 7 MB de download.
  • Supabase: um GET busca as configurações do site e um POST com poucas centenas de bytes de texto grava eventos de uso anônimos — página, idioma, tipo de aparelho, site de origem e, numa conversão, formato, tamanho em bytes e duração. Sem nome de arquivo e sem pixels.
  • Scripts do Google (Analytics e, se houver anúncios, AdSense), quando ativados pelo site: seguem a sua resposta ao aviso de cookies; enquanto você não aceita, o Analytics mede sem gravar cookies.
  • Formulário de contato: envia só o que você digitar nele.

Em teste nosso de setembro de 2026, com estatísticas e anúncios desligados, usar comprimir, converter, cortar, PDF, .zip, remover fundo e ler QR Code produziu 45 requisições: todas GET, nenhuma com corpo. Offline, a conversão e um segundo recorte funcionaram.

Quando enviar ao servidor faz sentido e o que cobrar

Enviar o arquivo não é sinal de má-fé: há trabalho que não cabe no navegador. Os autores do modelo de recorte que usamos publicam duas versões: a leve, de 4,7 MB, e a completa, de 176,3 MB. O LivreImage roda a leve; quem quer a completa tem bom motivo para processar no servidor: baixar 176 MB no celular para recortar uma foto não é razoável. O mesmo vale para imagens que estouram a memória do aparelho.

Aí a pergunta muda de “envia?” para “o que acontece depois?”. Foto de rosto ou de documento é informação sobre uma pessoa identificável: dado pessoal, na definição da LGPD. O artigo 9º garante acesso facilitado a informações claras sobre o tratamento, entre elas a forma e a duração do tratamento, a identificação do controlador e o uso compartilhado dos dados. Na política de privacidade, procure:

  • Prazo de retenção em número. “Apagamos em 1 hora” informa; “pelo tempo necessário” não.
  • Onde fica guardado: país e empresa de hospedagem.
  • Quem acessa: funcionários, empresas contratadas, parceiros — e se as imagens servem para treinar IA.
  • Como apagar antes do prazo, e por qual canal pedir.

Se a política não responde a essas quatro perguntas, trate o envio como permanente: não mande documento, foto de criança nem imagem de cliente.

Ferramentas para pôr em prática

Perguntas frequentes

Dá para abrir o painel Rede no celular?

Só com um computador: o Safari do iPhone é inspecionado por um Mac conectado, e o Chrome do Android, por um computador ligado por cabo USB. Sem computador, use o teste do modo avião.

O cadeado do HTTPS garante que a foto não foi enviada?

Não. O HTTPS criptografa a comunicação entre o navegador e o servidor. Ele protege o trajeto, mas não diz se o arquivo foi enviado nem o que o servidor faz com ele.

A prévia da imagem apareceu na hora. Isso prova que o site é local?

Não prova. A prévia pode ser montada na memória, com um endereço blob:, e o envio acontecer depois, quando você clica em processar. Quem responde é o painel Rede ou o teste offline.

A requisição foi para outro domínio. É sinal de problema?

Sozinho, não. Bibliotecas e estatísticas costumam vir de outros endereços. O que define um upload é o conteúdo: método POST ou PUT e um corpo do tamanho do seu arquivo.

Preciso repetir o teste toda vez?

Repita quando o arquivo for sensível. O código de um site pode mudar sem aviso, e o teste mostra o comportamento daquela página naquele dia.

Fontes

Documentos oficiais e referências técnicas consultados para este guia.

  1. Network features reference — Chrome for Developers (Google) (consultado em 28 de setembro de 2026)
  2. Open Chrome DevTools — Chrome for Developers (Google) (consultado em 28 de setembro de 2026)
  3. Remote debug Android devices — Chrome for Developers (Google) (consultado em 28 de setembro de 2026)
  4. Inspect network activity — Microsoft Learn (Microsoft Edge DevTools) (consultado em 28 de setembro de 2026)
  5. Overview of DevTools — Microsoft Learn (Microsoft Edge DevTools) (consultado em 28 de setembro de 2026)
  6. Network features reference — Microsoft Learn (Microsoft Edge DevTools) (consultado em 28 de setembro de 2026)
  7. Network Monitor — Firefox Source Docs (Mozilla) (consultado em 28 de setembro de 2026)
  8. Network request list — Firefox Source Docs (Mozilla) (consultado em 28 de setembro de 2026)
  9. Network request details — Firefox Source Docs (Mozilla) (consultado em 28 de setembro de 2026)
  10. Network monitor toolbar — Firefox Source Docs (Mozilla) (consultado em 28 de setembro de 2026)
  11. Throttling — Firefox Source Docs (Mozilla) (consultado em 28 de setembro de 2026)
  12. Use as ferramentas de desenvolvedor no menu Desenvolvedor no Safari do Mac — Suporte da Apple (consultado em 28 de setembro de 2026)
  13. Enabling Web Inspector — WebKit (Web Inspector Reference) (consultado em 28 de setembro de 2026)
  14. Network Tab — WebKit (Web Inspector Reference) (consultado em 28 de setembro de 2026)
  15. Inspecting iOS and iPadOS — Apple Developer Documentation (consultado em 28 de setembro de 2026)
  16. POST request method — MDN Web Docs (consultado em 28 de setembro de 2026)
  17. PUT request method — MDN Web Docs (consultado em 28 de setembro de 2026)
  18. GET request method — MDN Web Docs (consultado em 28 de setembro de 2026)
  19. Content-Length header — MDN Web Docs (consultado em 28 de setembro de 2026)
  20. Base64 — MDN Web Docs (Glossary) (consultado em 28 de setembro de 2026)
  21. Navigator: sendBeacon() method — MDN Web Docs (consultado em 28 de setembro de 2026)
  22. blob: URLs — MDN Web Docs (consultado em 28 de setembro de 2026)
  23. File API — MDN Web Docs (consultado em 28 de setembro de 2026)
  24. HTMLCanvasElement: toBlob() method — MDN Web Docs (consultado em 28 de setembro de 2026)
  25. <canvas>: The Graphics Canvas element (Maximum canvas size) — MDN Web Docs (consultado em 28 de setembro de 2026)
  26. ImageData: data property — MDN Web Docs (consultado em 28 de setembro de 2026)
  27. WebAssembly concepts — MDN Web Docs (consultado em 28 de setembro de 2026)
  28. Background Synchronization API — MDN Web Docs (consultado em 28 de setembro de 2026)
  29. HTTPS — MDN Web Docs (Glossary) (consultado em 28 de setembro de 2026)
  30. Use o Modo Avião no iPhone, iPad, Apple Watch e Apple Vision Pro — Suporte da Apple (consultado em 28 de setembro de 2026)
  31. Keep your Android's wireless connections on in Airplane mode — Pixel Phone Help (Google) (consultado em 28 de setembro de 2026)
  32. Consent mode overview — Google for Developers (consultado em 28 de setembro de 2026)
  33. Lei nº 13.709, de 14 de agosto de 2018 — Lei Geral de Proteção de Dados Pessoais (LGPD) — Presidência da República (Planalto) (consultado em 28 de setembro de 2026)
  34. U-2-Net: repositório oficial do modelo (README) — Xuebin Qin e coautores (GitHub) (consultado em 28 de setembro de 2026)

Encontrou um erro ou uma informação desatualizada? Avise pelo formulário de contato

Continue lendo

Publicidade