Validador de URL
Verifique se uma URL é válida e analise suas partes: protocolo, domínio, caminho, parâmetros e hash. Processado no navegador.
Protocolo
Host
Porta
Caminho
Parâmetros de query
Hash (#)
Como usar?
Cole ou digite a URL no campo acima. A ferramenta valida o formato e decompõe a URL em todas as suas partes: protocolo, host, porta, caminho, query string e hash.
Anatomia de uma URL e o que significa "válida"
A gramática de uma URL é definida pela RFC 3986. Toda URL segue o mesmo esqueleto: esquema://autoridade/caminho?query#fragmento. A autoridade ainda pode ser dividida em userinfo@host:porta. Esquemas comuns incluem http, https, ftp, mailto, data, file, tel e blob. O host pode ser um nome DNS, um IPv4 em notação pontuada ou um IPv6 literal entre colchetes como [2001:db8::1]. A porta precisa ser um inteiro de 16 bits entre 1 e 65535. Caminho, query e fragmento têm cada um suas próprias regras de codificação por porcentagem.
Esta ferramenta usa o construtor URL nativo do navegador — o mesmo parser da barra de endereços — em vez de uma regex caseira. A maioria das regexes encontradas online falha em pelo menos um caso extremo: IPv6 literal, UTF-8 percent-encoded, nomes de domínio internacionalizados ou ponto final no host. O construtor nativo (disponível no Node 10+ e em todos os navegadores modernos) segue o WHATWG URL Standard, que é um superconjunto levemente mais permissivo da RFC 3986 e bate com o comportamento real dos browsers.
Três níveis de validação de URL
Sintática apenas checa que a string casa com a gramática — esquema presente, host bem formado, porta dentro da faixa. Semântica vai além e pergunta se o host realmente resolve no DNS, se o esquema é permitido pela política do aplicativo ou se a porta é alcançável. Disponibilidade de fato abre uma conexão — tipicamente um HTTP HEAD — para confirmar uma resposta sem erro. A maioria dos casos de validação de formulário para na sintática; verificadores de link e crawlers de SEO chegam até a disponibilidade.
Armadilhas de segurança
Se o seu backend redireciona para uma URL fornecida pelo usuário sem filtrar, você tem um open redirect — um vetor clássico de phishing que transforma o seu domínio confiável em trampolim. Sempre prefira allowlist de domínios em vez de denylist. Fique atento a typosquatting (paypa1.com com o dígito um) e a ataques de homógrafos IDN em que um а cirílico se passa por um a latino. Normalize hosts para Punycode (xn--…) antes de comparar. Para requisições server-side, previna SSRF bloqueando faixas privadas e de loopback (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8, link-local 169.254.0.0/16 e equivalentes IPv6) e qualquer endpoint de metadados em cloud como 169.254.169.254.
Rejeite esquemas perigosos ao aceitar links de usuários: javascript: executa script no contexto da página (XSS), data: pode contrabandear HTML ou scripts e file: pode vazar recursos locais. Mantenha uma allowlist pequena — tipicamente só http e https.
Dicas práticas e bibliotecas
No Node, o new URL(str) nativo cobre 95% dos casos; para parsing avançado use whatwg-url ou url-parse. valid-url também é popular mas é anterior ao padrão WHATWG. No browser, URL.canParse(str) (2023+) devolve um booleano sem lançar exceção — útil em laços quentes de validação.
function isValidHttpUrl(str) {
try {
const u = new URL(str);
return u.protocol === 'http:' || u.protocol === 'https:';
} catch { return false; }
}
Perguntas frequentes
Regex ou a API URL? Sempre a API URL. Regexes se afastam do spec, falham em IDN e IPv6 e parecem corretas até o dia em que não são mais. O parser nativo é rápido, testado em batalha e bate com o que os browsers fazem.
http://localhost:3000 é uma URL válida? Sim — é sintaticamente válida. Se você aceita ou não depende do contexto: ferramentas de dev sim, mas um formulário público de envio de links normalmente não.
Qual é o tamanho máximo de uma URL? A RFC 3986 não define limite. Na prática, navegadores aceitam de 2.048 caracteres (IE antigo) até 32.779 (Chrome). Muitos servidores e CDNs limitam a query string a 4–8 KB. Para payloads longos, use POST.
O fragmento #… é enviado para o servidor? Não — o fragmento é processado inteiramente no cliente, e é por isso que hash routers de SPA funcionam sem cooperação do servidor.
Ferramentas Relacionadas
Validador de CPF
Valide CPFs instantaneamente pelo algoritmo oficial da Receita Federal, sem enviar dados para nenhum servidor. Gratuito e sem cadastro.
Validador de CPF em Lote
Valida uma lista de CPFs (um por linha) e mostra quais são válidos e quais são inválidos. Sem envio para servidores.
Validador de CNPJ em Lote
Valida uma lista de CNPJs (um por linha) e mostra resumo: válidos, inválidos e total. Sem envio para servidores.
Valide e analise uma URL
Uma URL malformada quebra um link, atrapalha uma integração ou estraga um redirecionamento. Este validador verifica se o endereço é válido e ainda desmonta a URL em suas partes, mostrando claramente cada componente que a compõe.
Você vê separados o protocolo, o domínio, o caminho, os parâmetros da query string e o hash (a âncora). Isso é útil para depurar links com muitos parâmetros, entender uma URL de campanha, conferir um endereço antes de usá-lo em código ou só enxergar o que cada pedaço significa.
Tudo é processado no navegador, sem enviar a URL para fora. Cole o endereço e veja a estrutura completa na hora, ideal para quem trabalha com web e desenvolvimento.