Generador y validador de boleto (línea digitable)
El boleto es el comprobante de pago de Brasil, identificado por un código de barras y una línea digitable. Genera boletos ficticios con todos los dígitos verificadores correctos para probar lectores de código de barras, parsers, OCR y pantallas de pago en sandbox. No están registrados en ningún banco y nunca deben pagarse.
Hasta 1000 elementos por vez. Todo se genera en tu navegador.
Cómo usar
- En la pestaña de generación, elige el Tipo: bancario (47 dígitos, emitido por un banco) o recaudación (arrecadação, 48 dígitos, servicios públicos e impuestos). En el bancario también puedes elegir el Banco o dejar Cualquiera.
- Activa Con máscara (puntuación) para obtener la línea con puntos y espacios, tal como se imprime, o desactívala para solo dígitos. Haz clic en Generar y luego en Copiar.
- Para un conjunto de pruebas, indica la Cantidad (1 a 1000) y usa Exportar CSV, Exportar JSON o Exportar SQL. Cada fila trae línea digitable, código de barras, tipo, banco, vencimiento y monto.
- En la pestaña Validar, pega una línea digitable (47 o 48 dígitos) o un código de barras (44 dígitos) por línea. Se ignoran puntos, guiones y espacios.
- Cada resultado indica si es válido junto con banco, monto y vencimiento decodificados, o el motivo: longitud incorrecta, caracteres inválidos, dígito de un campo (indicando cuál) o dígito general erróneo.
Cómo funciona
Boleto bancario: código de barras y línea digitable
El boleto está regulado por el Banco Central de Brasil (Circular 3.598/2012) y sus formatos los estandariza la FEBRABAN, la federación de bancos. El código de barras tiene 44 posiciones: banco (1–3), moneda 9 = real (4), dígito general (5), factor de vencimiento (6–9), monto en centavos (10–19) y campo libre del banco (20–44). La línea digitable reordena los mismos datos en 47 dígitos y 5 campos:
- Campo 1: banco + moneda + posiciones 1–5 del campo libre + DV (10 dígitos).
- Campo 2: posiciones 6–15 del campo libre + DV (11).
- Campo 3: posiciones 16–25 del campo libre + DV (11).
- Campo 4: el dígito general del código de barras (1).
- Campo 5: factor de vencimiento + monto (14).
Los campos 1 a 3 usan módulo 10: pesos 2, 1, 2, 1… de derecha a izquierda; a los productos mayores que 9 se les suman las cifras; DV = (10 − suma mód. 10) mód. 10. El dígito general usa módulo 11 sobre las otras 43 posiciones del código de barras, pesos 2 a 9 desde la derecha, en ciclo; DV = 11 − resto, y los resultados 0, 10 y 11 pasan a 1.
El factor de vencimiento y el reinicio de 2025
El factor cuenta los días desde el 07/10/1997. Llegó a 9999 el 21/02/2025 y, según lo comunicado por la FEBRABAN, volvió a 1000 el 22/02/2025. Por eso cada factor corresponde a dos fechas separadas por 9000 días; el validador elige la más cercana a hoy. El factor 0000 indica boleto sin vencimiento.
Ejemplo completo: 34192.90055 62293.552790 14298.128241 5 16500000046404
Campo 1 341929005, desde la derecha: 5×2=10→1, 0, 0, 9, 2×2=4, 9, 1×2=2, 4, 3×2=6; suma 35; DV = 10 − 5 = 5.
Campo 2 6229355279: 6 + 4 + 2 + (18→9) + 3 + (10→1) + 5 + 4 + 7 + (18→9) = 50; DV 0. Campo 3 1429812824: 1 + 8 + 2 + 9 + 8 + 2 + 2 + 7 + 2 + 8 = 49; DV 1.
Código de barras: 34195165000000464042900562293552791429812824. Sin la 5.ª posición, la suma ponderada (pesos 2–9) es 864; 864 mód. 11 = 6; 11 − 6 = 5, el campo 4. Factor 1650 = 22/02/2025 + 650 días = 04/12/2026; monto 0000046404 = R$ 464,04; banco 341 (Itaú).
Recaudación (empieza con 8)
Las facturas de servicios e impuestos usan 48 dígitos: 4 bloques de 11 con un dígito cada uno. El 2.º dígito es el segmento y el 3.º, el identificador de valor: 6 o 7 → módulo 10; 8 o 9 → módulo 11 (6 y 8 indican monto en reales). El dígito general está en la 4.ª posición del código de barras. Ejemplo generado aquí: 83690000042-0 52678617628-3 09604695044-8 68755616675-3 (R$ 4.252,67).
Preguntas frecuentes
¿Puedo pagar un boleto generado aquí?
No, y no lo intentes. El campo libre es aleatorio y no hay ningún cobro registrado detrás. Si por casualidad la línea coincidiera con un título real, el pago iría a un tercero. Usa estos boletos solo para pruebas de parsers, lectura de código de barras, OCR, interfaces e integraciones en sandbox.
¿Una línea válida significa que el boleto existe?
No. El validador revisa longitud, dígitos de los campos y dígito general, y decodifica banco, monto y vencimiento. Si el título existe, fue pagado o está vencido solo puede consultarse con el banco emisor o la plataforma de cobro, y esta herramienta no lo hace.
¿Por qué un mismo factor puede indicar dos fechas?
Porque el factor solo tiene cuatro dígitos. Tras llegar a 9999 el 21/02/2025, se reinició en 1000 al día siguiente. Tu sistema debe elegir el ciclo correcto; el enfoque habitual, usado aquí, es tomar la fecha más cercana al día actual.
¿Qué diferencia hay entre línea digitable y código de barras?
Llevan los mismos datos en otro orden. El código de barras tiene 44 dígitos y lo lee el escáner; la línea digitable tiene 47 (bancario) o 48 (recaudación) dígitos, con dígitos extra por campo para detectar errores de tipeo. El validador acepta ambos formatos.
¿El campo libre sigue el formato del banco elegido?
No. Cada banco organiza a su manera las 25 posiciones del campo libre (cartera, “nosso número”, agencia, cuenta). El generador las rellena con dígitos aleatorios; el código de banco, el factor y el monto sí siguen el estándar. Para probar el formato de un banco concreto, usa su sandbox.
Fuentes
- Banco Central do Brasil — Circular 3.598 que instituye el boleto (en portugués)
- FEBRABAN — Federación Brasileña de Bancos (formatos de boleto y recaudación)
- brazilian-utils — biblioteca de código abierto con validación de boleto
- boleto-utils — validador de código abierto con el nuevo factor de 2025
Herramientas relacionadas
Actualizado el 13/11/2026 · Rafael Lima