Visualizador de codificação Huffman
Digite qualquer texto para construir na hora sua árvore de Huffman, gerar códigos binários de prefixo ótimos para cada caractere e ver a economia exata de bits em comparação com a codificação ASCII fixa de 8 bits. Clique em qualquer caractere para destacar seu nó folha na árvore. Funciona inteiramente no seu navegador, sem cadastro.
Enter any text to build its Huffman tree, generate optimal prefix-free codes for each character, and see the exact bit savings vs. fixed 8-bit ASCII encoding. All processing runs locally in your browser - your text never leaves your device.
Quick Examples
Por que usar nosso visualizador de codificação Huffman?
- Geração instantânea da árvore de Huffman: cole qualquer texto e o visualizador de codificação Huffman constrói na hora a árvore de códigos de prefixo ótima, a tabela de frequências e a cadeia de bits codificada completa - sem espera.
- Visualizador de codificação Huffman online seguro: toda a construção da árvore e a codificação rodam inteiramente no seu navegador. Seu texto nunca sai do seu dispositivo - totalmente privado e capaz de funcionar offline.
- Árvore interativa e tabela de códigos: clique em qualquer caractere na tabela de frequências ou de códigos para destacar seu nó folha na árvore de Huffman. Veja exatamente como o comprimento em bits se relaciona com a frequência do caractere.
- 100 % grátis para sempre: visualize a codificação Huffman de qualquer texto, totalmente grátis. Sem conta, sem assinatura, sem limites e sem anúncios - use quantas vezes precisar.
O que é codificação Huffman?
A codificação Huffman é um algoritmo de compressão de dados sem perdas inventado por David A. Huffman em 1952. Ele atribui códigos binários de comprimento variável aos caracteres conforme sua frequência - caracteres que aparecem com mais frequência recebem códigos mais curtos, e os raros, códigos mais longos. O resultado é um código de prefixo (nenhum código é prefixo de outro), o que permite decodificar a cadeia de bits sem ambiguidade e sem separadores. Nosso visualizador de codificação Huffman grátis constrói a árvore de Huffman ótima para qualquer texto de entrada e mostra a economia exata de bits em relação à codificação ASCII fixa de 8 bits - tudo localmente no seu navegador, sem cadastro.
Como funciona nosso visualizador de codificação Huffman
- Digite seu texto: escreva ou cole qualquer texto de até 500 caracteres. Use os exemplos rápidos para casos clássicos como «abracadabra» ou «the quick brown fox».
- Construção instantânea da árvore: clique em «Visualizar árvore de Huffman» - o visualizador conta as frequências dos caracteres, monta a fila de prioridade e constrói a árvore de Huffman ótima inteiramente no seu navegador.
- Explore os resultados: analise a tabela de frequências, a tabela de códigos e a árvore em SVG. Clique em qualquer caractere para destacar seu nó folha. Copie a tabela de códigos completa ou a cadeia de bits codificada com um clique.
O que o visualizador de codificação Huffman mostra
- Tabela de frequências: cada caractere único com seu número de ocorrências e o percentual do total da entrada - ordenada por frequência decrescente.
- Tabela de códigos: o código binário de prefixo ótimo atribuído a cada caractere, ordenado por comprimento de código - os códigos mais curtos vão para os caracteres mais frequentes.
- Árvore de Huffman: uma visualização SVG interativa da árvore binária - os nós internos mostram as frequências combinadas e os nós folha mostram o caractere e sua frequência. As arestas esquerdas são rotuladas com 0 e as direitas com 1.
- Cadeia de bits codificada: a codificação binária completa do seu texto usando os códigos Huffman gerados, com o total de bits e o equivalente em bytes.
Limitações importantes da codificação Huffman
O visualizador de codificação Huffman mostra a compressão teórica apenas da codificação entrópica. Formatos reais como GZIP e Brotli combinam a codificação Huffman com referências retroativas LZ77 (que eliminam substrings repetidas antes da codificação entrópica) e alcançam compressão bem maior em texto típico. Além disso, a própria tabela de códigos Huffman precisa ser transmitida junto com os dados comprimidos, o que adiciona sobrecarga em entradas curtas. Em entradas com distribuição uniforme de caracteres (todos com a mesma frequência), a codificação Huffman não traz nenhum ganho de compressão em relação aos códigos de largura fixa.
Perguntas frequentes
Um visualizador de codificação Huffman constrói a árvore de Huffman ótima para qualquer texto de entrada, gera o código binário de prefixo de cada caractere e mostra a economia exata de bits em relação à codificação ASCII fixa de 8 bits. Nosso visualizador de codificação Huffman online grátis funciona inteiramente no seu navegador - sem cadastro, e seu texto nunca sai do seu dispositivo.
A codificação Huffman atribui códigos binários mais curtos aos caracteres que aparecem com mais frequência e códigos mais longos aos raros. Como os caracteres mais comuns usam menos bits, o total de bits do texto codificado é menor que na codificação ASCII fixa de 8 bits. A economia depende de quão desigual é a distribuição de frequências - um texto muito repetitivo comprime mais que um texto com distribuição uniforme de caracteres.
Sim. O visualizador de codificação Huffman funciona inteiramente no seu navegador - a construção da árvore, a contagem de frequências e a codificação são feitas localmente em JavaScript. Nenhum texto é enviado a servidor algum. Sua entrada nunca sai do seu dispositivo.
Sim. O visualizador de codificação Huffman é 100 % grátis, sem cadastro, sem assinatura e sem limites. Visualize a codificação Huffman de quantos textos precisar.
O visualizador de codificação Huffman mostra apenas a etapa de codificação entrópica da compressão. Formatos reais como GZIP e Brotli aplicam primeiro referências retroativas LZ77 para eliminar substrings repetidas e depois aplicam a codificação Huffman ao resultado. A combinação de LZ77 + Huffman é bem mais eficaz que o Huffman sozinho, sobretudo em texto com palavras e frases repetidas.
Um código de prefixo (também chamado código livre de prefixo) é um código em que nenhuma palavra-código é prefixo de outra. Essa propriedade permite decodificar a cadeia de bits sem ambiguidade e sem caracteres separadores entre os códigos. Os códigos Huffman são sempre de prefixo por construção - a estrutura da árvore garante isso, porque cada caractere é um nó folha e nenhuma folha é ancestral de outra.
Quando todos os caracteres aparecem com a mesma frequência, a codificação Huffman produz códigos de comprimento igual ou quase igual, com pouca ou nenhuma compressão em relação à codificação de largura fixa. É o pior caso para a codificação Huffman. Por exemplo, se sua entrada tiver exatamente um exemplar de cada caractere, a árvore de Huffman ficará equilibrada e o comprimento médio do código será de aproximadamente log₂(n) bits, em que n é o número de caracteres únicos.
A árvore de Huffman é construída com um algoritmo guloso: (1) Conte a frequência de cada caractere e crie um nó folha para cada um. (2) Insira todos os nós folha em uma fila de prioridade mínima ordenada por frequência. (3) Remova repetidamente os dois nós de menor frequência, crie um novo nó interno com a frequência combinada como pai e insira-o de volta na fila. (4) Repita até restar apenas um nó: a raiz. Depois a árvore é percorrida atribuindo 0 aos ramos esquerdos e 1 aos direitos.
Sim. O visualizador de codificação Huffman funciona com qualquer texto Unicode - ele conta as frequências no nível do ponto de código Unicode. No entanto, a taxa de compressão exibida compara com a codificação ASCII de 8 bits, que só é válida para texto ASCII. Para texto Unicode, a codificação de largura fixa real seria de 16 ou 32 bits por caractere (UTF-16/UTF-32), então a economia real seria ainda maior.