Converter BBCode para HTML
Este conversor de BBCode para HTML transforma um conjunto prático de tags de formatação de fóruns em HTML previsível.
Executar grátis
Cole um texto com negrito, itálico, sublinhado, URL, citação ou lista e receba uma string HTML pronta para uso controlado em uma página ou fluxo editorial. As tags reconhecidas podem ser aninhadas, os caracteres comuns de HTML são escapados e os aninhamentos incorretos são informados em vez de gerar marcação quebrada silenciosamente. A conversão é determinística, não requer acesso à rede e sempre devolve o mesmo resultado para a mesma entrada.
Converta as tags BBCode compatíveis
O conversor reconhece seis famílias comuns de BBCode: <code>[b]</code>, <code>[i]</code>, <code>[u]</code>, <code>[url]</code>, <code>[quote]</code> e <code>[list]</code>. O negrito vira <code><strong></code>, o itálico vira <code><em></code>, o sublinhado vira <code><u></code>, as citações viram <code><blockquote></code> e as listas viram listas HTML não ordenadas com itens. Um link pode usar <code>[url=https://example.com]rótulo[/url]</code> ou <code>[url]https://example.com[/url]</code>. Os itens começam com <code>[*]</code> dentro de uma lista. As tags podem ser aninhadas quando são fechadas na ordem inversa à abertura; assim, um texto em negrito pode conter itálico. Tags fora do conjunto compatível permanecem como texto escapado, sem serem interpretadas como HTML. Esse contrato restrito torna o resultado fácil de entender e evita prometer suporte às muitas extensões incompatíveis usadas por diferentes fóruns. Se a origem depender de tags personalizadas de cor, tamanho, imagem, tabela ou mídia, trate-as separadamente antes ou depois da conversão, com regras adequadas à plataforma de origem.
Entenda a validação e a saída segura
O BBCode reconhecido precisa estar estruturalmente equilibrado. Toda tag de abertura exige a tag de fechamento correspondente, tags aninhadas devem ser fechadas na ordem oposta à abertura e marcadores de itens precisam aparecer diretamente dentro de uma lista. Uma sequência inválida devolve um erro de entrada inválida, não um documento parcial. Isso é importante em publicações automatizadas, pois um reparo silencioso pode deslocar ênfases, links ou citações para além dos limites pretendidos por quem escreveu. Durante a renderização, o texto simples é escapado para HTML, inclusive sinais de menor e maior e ampersands; os destinos dos links também são escapados para uso em atributos. Esquemas URL explícitos são limitados a HTTP, HTTPS e mailto, e fragmentos ou destinos relativos também são aceitos. Essa verificação impede que um link BBCode se torne uma URL de script evidente, mas a saída ainda deve passar pelas políticas de segurança e conteúdo do aplicativo que a incorpora. O conversor transforma sintaxe; ele não substitui um sanitizador HTML específico, um sistema de permissões ou a moderação.
Use o resultado em um fluxo editorial
Envie um valor <code>text</code> e leia a marcação convertida no campo <code>html</code> retornado. Esse formato simples funciona bem em scripts de migração, exportações de fóruns, pipelines de comentários, importações de bases de conhecimento e dados de teste. Antes de converter um arquivo grande, examine registros da plataforma original, pois os dialetos BBCode variam: alguns usam argumentos de listas numeradas, atribuições especiais de citações ou tags proprietárias de mídia que estão deliberadamente fora desta capacidade. Preserve o BBCode original junto com o resultado convertido até revisar a migração, permitindo ajustar o pré-processamento sem perder informações. Em um editor interativo, mostre o erro de tag desequilibrada perto do conteúdo em vez de descartar a formatação. Em uma importação em lote, registre o item com falha e prossiga conforme sua própria política. A conversão pela API custa US$ 0,002 por item. Como não há rede, relógio, aleatoriedade nem serviço externo, a mesma entrada aceita produz HTML equivalente byte a byte em todas as execuções.
Casos de uso
Migrar publicações de fóruns
Converta a formatação compatível de mensagens exportadas antes de importar o conteúdo para um sistema editorial baseado em HTML.
Visualizar comentários antigos
Gere uma prévia HTML previsível para comentários armazenados com BBCode comum e informe aninhamentos incorretos ao editor.
Normalizar uma base de conhecimento
Transforme negrito, links, citações e listas em um subconjunto HTML consistente durante uma migração de documentação.
Perguntas frequentes
Quais tags BBCode são compatíveis?
São aceitas b, i, u, url, quote e list. Os itens de lista usam [*]. As demais tags permanecem como texto escapado.
O que acontece com tags desequilibradas?
A solicitação falha com um erro de entrada inválida que identifica a tag desequilibrada ou aninhada incorretamente.
Posso fornecer um rótulo para um link?
Sim. Use [url=https://example.com]rótulo[/url]. Você também pode colocar o próprio destino entre [url] e [/url].
A conversão elimina todos os riscos de HTML?
Não. Textos e atributos são escapados e esquemas URL explícitos perigosos são rejeitados, mas o aplicativo deve aplicar sua própria política de segurança e seu sanitizador quando necessário.
Quanto custa uma conversão?
Cada solicitação à API custa US$ 0,002 por item.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/text/bbcode-to-html \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"[b]Important[/b]: visit [url=https://example.com]our site[/url]."}'const res = await fetch("https://api.kit.forhosting.com/text/bbcode-to-html", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "[b]Important[/b]: visit [url=https://example.com]our site[/url]."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/bbcode-to-html",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "[b]Important[/b]: visit [url=https://example.com]our site[/url]."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/bbcode-to-html", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"[b]Important[/b]: visit [url=https://example.com]our site[/url]."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"[b]Important[/b]: visit [url=https://example.com]our site[/url]."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/bbcode-to-html", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "[b]Important[/b]: visit [url=https://example.com]our site[/url]."
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.bbcode_to_html",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chars | 200000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |