Converter 7Z para XZ

Aqui você converte 7Z para XZ de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. O arquivo viaja criptografado até o nosso servidor, é convertido lá e é apagado assim que o trabalho termina.

  • Onde roda No nosso servidor, porque um navegador não roda o programa que isto exige.
  • Sem perdas Nada é descartado. O XZ guarda exatamente o que o 7Z guardava.
  • Limite de tamanho Até 25 MB por arquivo, de graça e sem conta.
  • Vale saber Os arquivos saem byte a byte iguais. O que não sobrevive é o que o contêiner sabia *sobre* eles e não o que havia *dentro* deles: uma senha e, em alguns formatos, as permissões e as datas originais.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

O motivo de alguém sair do 7Z para o XZ

Essa é uma conversão de compatibilidade, não de compressão, e é bom deixar isso claro logo de início. Quem está montando um pacote de código-fonte para um projeto open source, alimentando um script de build de servidor Linux, ou publicando um release num repositório tem um pipeline que espera um tarball comprimido — e recebeu um 7Z em vez disso, geralmente porque quem gerou o arquivo trabalha no Windows.

O outro lado não vai mudar por causa de um arquivo. A maioria dos sistemas que esperam um tarball só entenderia 7Z se alguém instalasse outra ferramenta em cada máquina que roda o pipeline, e isso é uma mudança bem maior do que converter um arquivo. Não há argumento de tamanho em nenhuma direção que valha agir.

Dois formatos rodando o mesmo compressor nas mesmas configurações

Isso é incomum neste site, e por isso os números aqui são pouco emocionantes. O 7Z surgiu em 1999 e o XZ em 2009, e os dois se apoiam na família LZMA; o dicionário de compressão de cada um chega a 64 MB. Um dicionário desse tamanho é o que permite ao compressor notar que uma frase no arquivo quarenta já apareceu no arquivo três — e os dois formatos conseguem notar as mesmas coisas.

Então a taxa de compressão é decidida pelos dados, não pela escolha do formato. Numa pasta de código-fonte ou logs, os dois vão encontrar bastante repetição e vão encontrar aproximadamente a mesma quantidade; numa pasta de JPEGs ou MP4s, nenhum encontra nada, porque a redundância já foi removida antes de os arquivos serem compactados.

De onde vem o tar dentro de um XZ, e por que precisa estar lá

O XZ comprime exatamente um fluxo. Não tem campo para nome de arquivo, nenhuma noção de diretório, e nenhum jeito de dizer que esse trecho de bytes era um membro e aquele outro era outro. Não é uma limitação que alguém esqueceu de corrigir — é o desenho, e é o motivo de o TAR existir ao lado.

A conversão, portanto, extrai o 7Z, agrupa tudo que ele guardava num TAR, e comprime esse TAR com xz. O que vale saber é que esse é um TAR novo, escrito agora, e não um tarball que o 7Z carregava — então se o 7Z continha um .tar como um arquivo comum, esse arquivo é preservado como arquivo e não é desempacotado.

Renomeando o download para o formato certo

O que sai é um arquivo terminando em .xz, e o nome honesto para ele termina em .tar.xz. Nada quebra se você deixar assim — xz -d e tar olham para os bytes, não para a extensão — mas boa parte do software e das pessoas do outro lado lê a extensão primeiro, e um .xz que na verdade guarda um tarball é o tipo de surpresa que gera chamado de suporte.

Renomeie antes de publicar. tar xf projeto.tar.xz faz as duas camadas num passo só, exatamente o que quem lê suas notas de lançamento espera; um arquivo chamado projeto.xz convida a rodar unxz e deixa a pessoa com um arquivo chamado projeto que na verdade é um pacote inteiro.

O que se perde ao um 7Z virar um fluxo único

Um arquivo 7Z sabe o que tem dentro. Nomes, caminhos, tamanhos e uma soma de verificação por item são gravados no próprio arquivo, e é por isso que um descompactador mostra o conteúdo de um 7Z de 400 MB instantaneamente, sem descompactar nada. Um XZ não sabe nada disso: xz --list relata o número de blocos e o tamanho do fluxo, e é tudo que consegue informar.

Numa listagem de .tar.xz, tudo é lido de dentro do TAR, o que significa que o fluxo precisa ser descompactado inteiro para chegar lá. Num release pequeno isso é um segundo e ninguém percebe; num arquivo de vários gigabytes que alguém quer espiar, é a diferença entre uma resposta instantânea e uma pausa para o café.

Onde o xz já está instalado e o 7-Zip não

O xz faz parte da instalação básica de praticamente toda distribuição Linux e de todo BSD, porque o próprio gerenciador de pacotes depende dele. O GNU tar entende a flag -J para XZ desde a versão 1.22, então nenhum passo separado é necessário — uma imagem de contêiner com nada além de um shell costuma conseguir desempacotar um .tar.xz.

O 7-Zip não está nessa posição. É excelente e gratuito, mas ainda é algo que uma pessoa ou uma imagem de build precisa instalar. Num servidor de build, numa máquina de cliente ou num contêiner mínimo que você não montou, essa é a questão inteira.

Arquivos protegidos por senha e volumosos demais são recusados

O 7Z suporta criptografia e o XZ não, então um arquivo protegido não pode ser carregado de forma alguma. Em vez de tentar adivinhar uma senha ou produzir algo incompleto, o extrator é chamado com senha vazia, para que um arquivo criptografado falhe imediatamente com uma mensagem legível. Descriptografe localmente com 7-Zip ou Keka e converta o arquivo em texto plano.

O outro tipo de recusa acontece antes de qualquer coisa ser escrita em disco. O arquivo é consultado sobre o que declara que vai descompactar, e um total acima de 2 GB é recusado — um 7Z pequeno pode honestamente anunciar que se expande para terabytes, e descobrir isso durante a extração já seria tarde demais.

Para onde vai o seu 7Z enquanto é reempacotado

Não vai para o seu navegador. Muitas ferramentas deste site convertem no seu próprio aparelho e dizem isso claramente; reempacotar arquivos compactados é uma das exceções, porque precisa de 7-Zip e xz como programas de verdade. O arquivo viaja por uma conexão criptografada até um contêiner que roda esses programas, sem acesso próprio à internet.

Cada trabalho recebe seu próprio diretório temporário num sistema de arquivos com memória volátil, apagado ao fim do trabalho independentemente do resultado. Um trabalho ainda rodando após sessenta segundos é interrompido. O plano gratuito aceita 25 MB por arquivo.

Conferindo o tarball antes de publicar como release

Rode tar tJf sobre o resultado e compare a listagem contra o 7Z entrada por entrada: mesma contagem, mesmos caminhos, mesmos tamanhos. É a checagem mais barata possível e pega a falha que mais importa aqui, que é um caminho de topo deslocado por um diretório.

Timestamps e permissões Unix são a outra coisa a olhar em vez de assumir. Os arquivos saem byte a byte iguais — este é um reempacotamento sem perdas — mas o que o contêiner antigo registrava sobre eles nem sempre sobrevive, e um 7Z escrito no Windows pode nunca ter carregado um bit de permissão Unix para começo de conversa.

Como converter 7Z para XZ

  1. Solte o seu arquivo 7Z nesta página, ou clique para escolher um.
  2. Escolha XZ como destino e comece a conversão.
  3. Baixe o arquivo XZ pronto.

7Z ou XZ: o que muda

7Z comparado com XZ
7ZXZ
Nome completoArquivo 7-ZipArquivo XZ
Extensão do arquivo.7z.xz
Tipo de mídiaapplication/x-7z-compressedapplication/x-xz
CompressãoSem perdas — nada é descartadoSem perdas — nada é descartado
Publicado pela primeira vez19992009
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarZIPGZ, BZ2

O que se mantém

Nada é descartado. 7Z e XZ guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Abrir o resultado

XZ comprime um único fluxo e não comporta um diretório. É justamente por isso que XZ costuma vir junto de um formato de arquivamento: o arquivo reúne os itens e XZ comprime o resultado.

7-Zip e Keka leem tanto 7Z quanto XZ, então dá para comparar o resultado com o original sem um segundo programa.

Tamanho e qualidade

XZ trabalha com 8 MB de cada vez, contra 16 MB de 7Z: é dentro desse intervalo que uma repetição precisa caber para poder ser comprimida. É daí que vem a diferença de compressão e por isso ele é o mais rápido dos dois.

Para que serve cada formato

XZ e de 2009. xz, 7-Zip e Keka leem o formato.

De 7Z para XZ: perguntas frequentes

Meu arquivo 7Z é enviado para algum lugar?

É: esta conversão precisa de um software que não roda num navegador. O arquivo viaja criptografado até o nosso servidor, é apagado assim que o trabalho termina e o resultado, depois de 60 minutos. O trabalho é feito por 7-Zip, o compactador, na sua forma de linha de comando.

Converter 7Z para XZ é grátis?

É, até 100 conversões por dia para arquivos de até 25 MB. Esse único limite existe porque esta conversão roda num servidor que nós pagamos. No resto aqui não há nada limitado, e marca d’água não existe em caso nenhum. O limite existe porque 7-Zip precisa de uma máquina nossa para rodar.

Perde qualidade ao converter 7Z para XZ?

Não. XZ guarda o mesmo conteúdo sem jogar nada fora: o resultado é idêntico em qualidade ao original. Os arquivos saem byte a byte iguais. O que não sobrevive é o que o contêiner sabia *sobre* eles e não o que havia *dentro* deles: uma senha e, em alguns formatos, as permissões e as datas originais.

Um arquivo XZ pode conter mais de um arquivo?

XZ comprime um único fluxo e não comporta um diretório. É justamente por isso que XZ costuma vir junto de um formato de arquivamento: o arquivo reúne os itens e XZ comprime o resultado.

A conversão de 7Z para XZ é sem perda?

Nada é descartado. 7Z e XZ guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Mais sobre esses formatos