Convertidor de BBCode a HTML (Foros, phpBB y Comentarios)
Convierte el BBCode de foros y sistemas de comentarios en HTML válido y seguro. La herramienta usa un analizador basado en pila que respeta el anidamiento de etiquetas, protege el contenido de [code], sanea las URL de [url] e [img] y valida el color y el tamaño. Incluye vista previa en vivo.
- 🌐 Resumen rápido: ¿cómo paso BBCode a HTML?
- Qué es BBCode y por qué convertirlo
- Etiquetas admitidas
- Por qué importa un analizador basado en pila
- Seguridad: saneado de URL y validación de atributos
- Opciones de conversión
- Ejemplo
- Casos de uso
- Herramientas relacionadas en porcentaje.net
- Preguntas Frecuentes (FAQ)
🌐 Resumen rápido: ¿cómo paso BBCode a HTML?
Pega el texto con etiquetas [b], [url], [quote], [list]… y obtén el HTML equivalente más una vista previa renderizada. Para el camino contrario, usa el convertidor de HTML a BBCode. Si lo que quieres es quitar todo el formato, prueba el eliminar formato de texto.
Qué es BBCode y por qué convertirlo
BBCode (Bulletin Board Code) es un lenguaje de marcado ligero que nació en los foros de finales de los años noventa como alternativa segura al HTML. En lugar de <b> se escribe [b], en lugar de <a href> se escribe [url=], y el software del foro lo traduce a HTML al mostrar el mensaje. Sigue siendo el sistema de formato de phpBB, MyBB, vBulletin, Simple Machines y muchos paneles de comentarios.
Convertir BBCode a HTML es necesario cuando:
- Migras los mensajes de un foro antiguo a un CMS moderno o a una base de datos que guarda HTML.
- Quieres mostrar contenido de foro en una página que no tiene motor BBCode.
- Necesitas exportar un hilo a un documento o a un correo en formato HTML.
- Estás desarrollando y quieres ver rápidamente a qué HTML equivale un fragmento.
Etiquetas admitidas
| BBCode | HTML resultante |
|---|---|
[b] [i] [u] [s] | <strong> <em> <span underline> <s> |
[url=x]texto[/url] | <a href="x" rel="noopener nofollow"> |
[img]x[/img] | <img src="x" alt="" loading="lazy"> |
[quote=Ana] | <blockquote> con <cite> |
[code] | <pre><code> (contenido sin interpretar) |
[list] [*] / [list=1] | <ul><li> / <ol> |
[color=red] [size=4] | <span style="color/font-size"> |
[center] [left] [right] | <div style="text-align"> |
[email] [youtube] | <a mailto> / <iframe> de YouTube |
Por qué importa un analizador basado en pila
Convertir BBCode con simples reemplazos de texto ([b] → <strong>) funciona en ejemplos triviales pero falla en cuanto hay anidamiento cruzado o etiquetas sin cerrar, que abundan en los mensajes reales. Un analizador basado en pila lleva la cuenta de qué etiquetas están abiertas: cuando encuentra un cierre, cierra también las etiquetas internas que quedaron colgando, y al final del texto cierra todo lo que siga abierto. El resultado es siempre HTML bien formado, aunque el BBCode de entrada estuviera mal escrito.
Seguridad: saneado de URL y validación de atributos
El BBCode de un foro puede contener intentos de inyección. La herramienta aplica varias defensas:
- URLs de
[url]e[img]: solo se aceptan los esquemashttp,httpsymailto, además de rutas relativas y anclas. Un[url=javascript:...]se descarta. - Colores: se admiten los nombres de color estándar de CSS y los valores hexadecimales (
#c0392b); cualquier otra cosa se ignora y el texto se deja sin color. - Tamaños: se acepta un número del 1 al 7 (que se mapea a un tamaño en píxeles) o un valor entre 8 y 48 píxeles; los valores extremos se rechazan.
- Texto: todo el contenido que no sea una etiqueta se escapa a entidades HTML (
<,>,&), de modo que no puede introducir etiquetas propias. [code]: su contenido se extrae antes de analizar, se escapa y no se interpreta ninguna etiqueta interior.
Aun así, revisa siempre el HTML antes de publicarlo en un sitio de producción; puedes complementar la limpieza con el eliminador de código HTML si necesitas partir de cero.
Opciones de conversión
- Saltos de línea: convertir cada salto en
<br>, agrupar en párrafos<p>o no tocarlos. - Autoenlazar URLs sueltas: detecta direcciones escritas sin
[url]y las convierte en enlaces. - Permitir
[color]y[size]: desactívalo si quieres un HTML sin estilos en línea. - Imágenes con
loading="lazy": mejora el rendimiento de carga de la página. - Etiquetas XHTML autocerradas: genera
<br />y<img ... />si tu destino es XHTML.
Ejemplo
Entrada:
Hola [b]mundo[/b] y [i]cursiva[/i]. [quote=Ana]Revisa el pedido.[/quote] [list=1] [*]Abrir la app [*]Iniciar sesión [/list] [url=https://porcentaje.net]nuestra web[/url]
Salida HTML:
Hola <strong>mundo</strong> y <em>cursiva</em>.<br> <blockquote><p class="bb-cite"><cite>Ana</cite> escribió:</p>Revisa el pedido.</blockquote> <ol><li>Abrir la app</li><li>Iniciar sesión</li></ol> <a href="https://porcentaje.net" rel="noopener nofollow">nuestra web</a>
Casos de uso
- Migración de foros: convertir en bloque los mensajes al mover de phpBB a WordPress, Discourse o una base de datos propia.
- Boletines y correos: reaprovechar aportaciones de la comunidad en un envío HTML.
- Documentación: pasar guías escritas en un foro a una wiki o a un sitio estático.
- Desarrollo y pruebas: validar el comportamiento de un motor BBCode propio comparándolo con esta referencia.
Herramientas relacionadas en porcentaje.net
- Convertidor de HTML a BBCode: la operación inversa.
- Codificador de Entidades HTML: escapa caracteres especiales para la web.
- Decodificador de Entidades HTML: revierte
&y compañía. - Eliminar Código HTML de un Texto: deja solo el contenido textual.
- Generador de Separadores ASCII: crea divisores para tus mensajes de foro.
Preguntas Frecuentes (FAQ)
¿El HTML generado es seguro para publicarlo?
La herramienta escapa todo el texto, restringe los esquemas de URL a http, https y mailto, valida los colores y los tamaños y no interpreta el contenido de [code]. Eso cubre los vectores más habituales. Aun así, para un sitio de producción conviene pasar el resultado por un saneador de HTML del lado del servidor, ya que la seguridad final depende del contexto donde vayas a insertarlo.
¿Qué pasa si el BBCode tiene etiquetas mal cerradas?
El analizador basado en pila lo tolera: cierra automáticamente las etiquetas internas que quedaron abiertas al encontrar un cierre que no les corresponde, e ignora las etiquetas de cierre sueltas que no tienen apertura. Al terminar el texto, cierra todo lo que siga pendiente. El HTML resultante siempre está bien formado.
¿Se interpreta el BBCode dentro de [code]?
No. El contenido de [code] (y de [noparse]) se extrae antes del análisis, se escapa como entidades HTML y se envuelve en <pre><code> sin tocar nada de su interior. Un [b] escrito dentro de un bloque de código aparecerá literalmente como [b].
¿Puedo convertir muchos mensajes a la vez?
La herramienta procesa el texto que pegues, sin límite de longitud, así que puedes pegar varios mensajes separados y convertirlos de una vez. Para una migración masiva de una base de datos completa necesitarás un script del lado del servidor, pero esta herramienta es perfecta para lotes manuales y para validar el resultado.
¿Se envían mis textos a un servidor?
No. Toda la conversión y la vista previa se generan en tu navegador con JavaScript. El contenido no se transmite ni se almacena, por lo que puedes convertir mensajes privados o borradores sin ninguna preocupación de privacidad.