Codificador/Decodificador Bech32
Codifique e decodifique strings Bech32 (formato de endereço Bitcoin Segwit). Valide checksums e separe partes legíveis por humanos de seções de dados. Usado em endereços de criptomoedas e outras aplicações.
Entrada
The prefix before the "1" separator (e.g. "bc" for Bitcoin mainnet, "tb" for testnet).
Saída
Mais formas de usar esta ferramenta
API REST
curl -X POST https://api.iotools.cloud/v1/tool/bech32-encoder-decoder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "220e2145fa4a1f9e913265ef30f7d6f02c4ae914",
"mode": "encode",
"hrp": "bc"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `bech32-encoder-decoder` tool (Bech32 Encoder/Decoder) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/bech32-encoder-decoder/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Codificador/Decodificador Bech32 — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada de API/MCP | A partir de 5 créditos |
|---|---|
| Precisa de mais créditos? | Ver preços |
Também disponível via
Guias
Bech32 é um formato de codificação binário-para-texto definido em BIP-173 que emparelha um prefixo legível por humanos com dados codificados em um alfabeto de 32 caracteres, protegido por uma soma de verificação forte e com propósito específico. Diferentemente de Base58 ou Base64, Bech32 foi projetado especificamente para tornar detectáveis os erros de transcrição — e, na maioria dos casos, informar exatamente quais caracteres foram digitados incorretamente — em vez de apenas produzir uma string compacta.
Para que é usado
- Endereços Bitcoin SegWit — endereços SegWit nativos (P2WPKH/P2WSH) usam o formato
bc1...(rede principal) outb1...(rede de testes), que é exatamente uma string Bech32: uma parte legível por humanos (HRP), um separador1e os dados de testemunha codificados com sua soma de verificação. (Endereços Taproot usam uma variante closely relacionada chamada Bech32m, definida em BIP-350, que não é coberta por esta ferramenta.) - Faturas da Lightning Network — solicitações de pagamento Lightning (
lnbc...) usam codificação Bech32 para combinar um valor, dicas de roteamento e outros campos de fatura em uma única string copiável com detecção de erros integrada. - Qualquer protocolo que necessite identificadores resistentes a erros de digitação — o design de soma de verificação do Bech32 (um código BCH) pode detectar qualquer erro que afete até 4 caracteres em strings de até 89 caracteres de comprimento e é resistente a erros de transcrição comuns.
Como usar esta ferramenta
- Escolha Encode ou Decode com o seletor de modo.
- Encode: insira os dados a serem incorporados como uma string hexadecimal (por exemplo
220e2145fa4a1f9e913265ef30f7d6f02c4ae914) e configure a Parte Legível por Humanos (HRP) —bcpara Bitcoin na rede principal,tbpara rede de testes ou qualquer prefixo customizado que seu protocolo usa. A ferramenta converte os bytes em grupos de 5 bits do Bech32, adiciona uma soma de verificação e produz a string codificada. - Decode: cole uma string Bech32. A ferramenta a divide em sua HRP e dados, verifica a soma de verificação e — se válida — mostra a HRP, os valores de dados brutos de 5 bits e os dados remontados como bytes hexadecimais (quando o comprimento de bits está alinhado com bytes).
- O resultado aparece automaticamente conforme você digita — nenhum clique de botão necessário. Use o ícone de cópia ou download para obtê-lo.
FAQ
Por que a decodificação falhou com um erro "checksum verification failed"? Isso é o Bech32 fazendo seu trabalho. Cada string Bech32 válida termina com uma soma de verificação de 6 caracteres calculada sobre a string inteira (incluindo HRP). Se até um único caractere foi digitado incorretamente, copiado incorretamente ou corrompido, a soma de verificação não corresponderá e a ferramenta o relatará como inválido — nunca aceita ou "conserta" silenciosamente entrada ruim.
Por que a decodificação rejeita uma string com letras maiúsculas e minúsculas misturadas? BIP-173 exige que uma string Bech32 seja totalmente minúscula ou totalmente maiúscula (nunca misturada), pois a soma de verificação é calculada após normalizar para um caso. Uma string com letras misturadas não pode ser validada de forma inequívoca, portanto é rejeitada completamente em vez de adivinhar.
Qual é a diferença entre Bech32 e Bech32m? Ambos usam o mesmo alfabeto e estrutura geral, mas Bech32m (BIP-350) usa uma constante diferente na fórmula de soma de verificação. Bech32 é usado para endereços SegWit testemunha versão 0; Bech32m é usado para versão de testemunha 1 e superior (incluindo Taproot). Esta ferramenta implementa apenas a soma de verificação Bech32 original (BIP-173).
A HRP é sensível à maiúscula/minúscula?
A HRP é convencionalmente minúscula (como em endereços bc1...), e esta ferramenta normaliza o que você insere para minúscula antes da codificação. A decodificação aceita uma string totalmente minúscula ou totalmente maiúscula, conforme as especificações.
Por que recebo "not byte-aligned" na saída da decodificação? Bech32 armazena dados em grupos de 5 bits, que nem sempre se dividem uniformemente em bytes de 8 bits. Se os dados decodificados não puderem ser remontados de forma limpa em bytes completos, a ferramenta mostra os valores brutos de 5 bits em vez de uma string hexadecimal — isso é esperado para alguns casos de uso que não são endereços (como faturas Lightning) que não empacotam dados alinhados com bytes.
Privacidade
Toda codificação e decodificação acontece inteiramente em seu navegador — seus dados, endereços e qualquer outra entrada nunca saem do seu dispositivo ou são enviados para um servidor.