Regex para remover tags HTML

Use /<[^>]*>/g com buscar e substituir. Todos os exemplos abaixo foram testados com o padrão, e você pode abri-los no Testador de Regex com os exemplos já carregados.

Atualizado em

Antes

<p>Hello <strong>world</strong>!</p>

Depois (substituir por nothing)

Hello world!

Como o padrão funciona

ParteSignificado
<Um colchete de abertura
[^>]*Qualquer coisa exceto um colchete de fechamento
>O colchete de fechamento
→ ""Substituído por nada

Exemplos de código

JavaScript

const out = text.replace(/<[^>]*>/g, "");

Python

import re

out = re.sub(r'<[^>]*>', r'', text)

PHP

$out = preg_replace('/<[^>]*>/', '', $text);

Observações e limitações

Rápido e prático para marcação simples, mas quebra em atributos que contêm > e não decodifica entidades como &amp;. Nos navegadores, new DOMParser().parseFromString(html, "text/html").body.textContent é mais seguro.

Perguntas frequentes

Qual é a regex para remover tags HTML?
/<[^>]*>/g — usada com buscar e substituir. Veja a tabela acima para entender o que cada parte faz.
Funciona em Python e PHP?
Sim — os exemplos de código acima usam o mesmo padrão com re em Python e funções preg em PHP.
Como faço para testar esta regex?
Clique em “Abrir no Testador de Regex” — o padrão, as flags e o texto de exemplo carregam automaticamente, e as correspondências são destacadas conforme você edita.