Codificador y decodificador Bech32 / Bech32m

Inspecciona qué hay dentro de una cadena bc1q, bc1p, ltc1, lnurl1 o npub1, o construye una a partir de un witness program o de bytes en bruto. Detecta bech32 vs bech32m y verifica la suma de verificación.

Detecta bech32 vs bech32m, muestra la parte legible, los datos en grupos de 5 bits, los bytes en bruto, y la versión y el witness program de SegWit para direcciones bc1 / tb1 / ltc1.

Se calcula en tu navegador con JavaScript. Las direcciones nunca se suben ni se almacenan.

¿Qué es un codificador / decodificador bech32?

Un codificador / decodificador bech32 convierte entre bytes en bruto y el formato de cadena BIP-173: una parte legible (bc, ltc, lnurl, npub), el separador 1, la carga como grupos de 5 bits en un alfabeto de 32 caracteres y una suma de verificación BCH de 6 caracteres. Bech32m (BIP-350) es el mismo formato con una constante de suma de verificación distinta, obligatoria para SegWit versión 1 y superiores (Taproot bc1p…).

Ejemplo práctico

El witness program 751e76e8199196d454941c45d1b3a323f1433bd6 con versión 0 y hrp bc se codifica como bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4, la dirección de referencia de BIP-173. Al decodificarla se obtiene versión 0, un programa de 20 bytes y codificación bech32. El mismo programa con versión 1 requeriría bech32m y empezaría por bc1p.

Dónde aparece bech32

Bech32 vs. bech32m vs. Base58Check

CodificaciónSuma de verificaciónDetección de erroresUso típico
bech32 (BIP-173)6 caracteres, constante 1garantizada hasta 4 sustituciones en 90 caracteresbc1q SegWit v0, LNURL, facturas Lightning, npub
bech32m (BIP-350)6 caracteres, constante 0x2bc830a3igual, y corrige la debilidad de inserción antes de una p finalbc1p Taproot, SegWit v1 y posteriores
Base58Check4 bytes de doble SHA-256probabilística, sin garantía1… y 3… de Bitcoin, T… de Tron, XRP

Errores comunes

Valida una dirección Bitcoin completa, incluidos los formatos legacy en Base58, con el validador de direcciones Bitcoin.

Preguntas frecuentes

¿Qué es bech32?

Una codificación definida en BIP-173 para direcciones SegWit de Bitcoin: una parte legible, el separador 1 y datos en un alfabeto de 32 caracteres con una suma de verificación BCH de 6 caracteres que detecta hasta 4 errores. No distingue mayúsculas de minúsculas y en mayúsculas es ideal para códigos QR.

¿Cuál es la diferencia entre bech32 y bech32m?

Bech32m (BIP-350) cambia la constante de la suma de verificación de 1 a 0x2bc830a3 para corregir una debilidad de bech32 cuando el último carácter es una p. SegWit versión 0 (bc1q) mantiene bech32; la versión 1 Taproot y posteriores (bc1p) usan bech32m. El decodificador prueba ambas.

¿Por qué los datos no se convierten en bytes completos?

Bech32 transporta grupos de 5 bits. Una dirección SegWit tiene una versión de witness de 1 grupo seguida del programa, así que los datos en bruto no están alineados por bytes; la herramienta muestra la versión y el programa por separado. Otros usos como LNURL y npub codifican bytes completos con relleno.

¿Puedo decodificar LNURL y claves de Nostr?

Sí. lnurl1… se decodifica al texto de la URL; npub1… y nsec1… se decodifican a claves de 32 bytes. Nunca pegues una nsec ni ninguna clave privada en ningún sitio, incluido este.

¿Cuál es la longitud máxima de una cadena bech32?

BIP-173 limita las direcciones a 90 caracteres para que se mantenga la garantía de 4 errores. Las facturas Lightning y LNURL ignoran deliberadamente el límite porque transportan muchos más datos; la suma de verificación sigue funcionando, solo que con garantías más débiles para cadenas muy largas.

¿Cómo creo una dirección SegWit a partir de una clave pública?

Aplica SHA-256 y luego RIPEMD-160 a la clave pública comprimida para obtener el programa de 20 bytes, elige la versión de witness 0 y el hrp bc. Para Taproot, usa la clave de salida x-only de 32 bytes con versión 1. Esta página hace el paso de codificación; el hash de la clave queda fuera de su alcance.