Localhost é o nome que se refere ao próprio computador em que você está. Ele aponta para o endereço 127.0.0.1 — a chamada interface de loopback, um “laço” que faz a máquina conversar consigo mesma sem que nada saia para a rede.
É onde toda aplicação nasce: você programa, testa e corrige ali, sem depender de internet e sem que ninguém veja.
Neste guia você vai entender por que o localhost é o 127.0.0.1, o que significa o número em localhost:3000, por que às vezes ele recusa conexão, e como acessar do celular.
Conteúdo
O que é um host
Um host é qualquer dispositivo conectado a uma rede com endereço IP próprio — um servidor, um computador, um celular.
O localhost é o caso especial: o host que é sempre a própria máquina onde você está. Enquanto um host qualquer pode estar em outro continente, o localhost nunca sai de onde você está sentado.
O que significa localhost com porta (localhost:8080, localhost:3000)?
Ao desenvolver, é muito comum ver o localhost acompanhado de um número, como localhost:3000 ou localhost:8080. Esse número é a porta — um canal que identifica qual serviço ou aplicação está respondendo naquele momento no seu computador.
Como uma única máquina pode rodar vários serviços ao mesmo tempo (um servidor de site, um banco de dados, uma API), a porta diz ao navegador exatamente com qual deles você quer falar. Alguns exemplos frequentes no dia a dia de quem programa:
- localhost:3000 — padrão de aplicações Node.js e React em desenvolvimento.
- localhost:8080 — comum em servidores Java, Tomcat e em alternativas ao Apache.
- localhost:80 — porta padrão de sites HTTP (quando você acessa só
localhost, é essa que está em uso, de forma implícita). - localhost:3306 — porta padrão do banco de dados MySQL.
Em outras palavras, localhost é onde (sua própria máquina) e a porta é qual serviço responde ali.
Localhost e 127.0.0.1: qual a diferença?
Na prática, localhost e 127.0.0.1 apontam para o mesmo lugar: o seu próprio computador. A diferença é que localhost é um nome (mais fácil de lembrar e digitar), enquanto 127.0.0.1 é o endereço IP correspondente, dentro da faixa reservada para a chamada interface de loopback — um “laço” que faz a máquina conversar consigo mesma sem sair para a rede.
Essa associação entre o nome localhost e o IP 127.0.0.1 está definida num arquivo do sistema chamado hosts. É por isso que, na maioria dos casos, você pode usar um ou outro de forma intercambiável — e é também nesse arquivo que se criam apontamentos personalizados, como fazer meusite.local responder na sua própria máquina.
E existe uma terceira forma: o ::1. Ele é o localhost em IPv6, equivalente ao 127.0.0.1 do IPv4. Máquinas modernas têm os dois habilitados, e o sistema decide qual usar ao resolver o nome localhost.
Isso explica um problema que consome horas de quem desenvolve: a aplicação recusa conexão em localhost mas aceita em 127.0.0.1. É o caso clássico do MySQL — o sistema resolveu localhost para ::1, mas o serviço só está escutando em IPv4, então não há ninguém do outro lado. A solução imediata é usar 127.0.0.1 explicitamente na string de conexão; a definitiva é configurar o serviço para escutar também em IPv6.
Outro detalhe pouco conhecido: não é só o 127.0.0.1 que aponta para a sua máquina. Toda a faixa de 127.0.0.0 a 127.255.255.255 é reservada para loopback — o que significa que 127.0.0.2, 127.5.4.3 e qualquer outro endereço começando com 127 levam ao mesmo lugar.
Na prática, quase todo mundo usa o .1 por convenção. Mas a reserva do bloco inteiro tem utilidade: alguns desenvolvedores separam serviços em endereços diferentes da faixa — um banco de dados em 127.0.0.2, uma API em 127.0.0.3 — para que cada um possa usar a mesma porta sem conflito.
Por que meu localhost não está funcionando?
Se você digita localhost e nada carrega, quase sempre a causa é uma destas:
- O servidor não está rodando. O erro mais comum: você tenta acessar antes de iniciar a aplicação (o projeto Node, o XAMPP, o servidor PHP). Confirme que o serviço está ativo.
- Porta errada. Se a aplicação roda em
localhost:3000e você acessa sólocalhost(porta 80), não vai encontrar nada. Verifique em qual porta o serviço foi iniciado. - Porta já em uso. Dois serviços tentando usar a mesma porta geram conflito. A solução costuma ser encerrar o processo anterior ou iniciar o novo em outra porta.
- Firewall ou antivírus bloqueando. Em alguns casos, configurações de segurança barram o acesso local. Vale checar as permissões.
- O arquivo
hostsfoi alterado. Se alguém editou esse arquivo e removeu ou modificou a linha do localhost, o nome pode deixar de resolver. Nosso guia sobre como alterar o arquivo hosts mostra onde ele fica em cada sistema e como corrigir.
Um teste rápido para confirmar se o localhost em si está respondendo é abrir o terminal (Prompt de Comando no Windows, Terminal no macOS ou Linux) e rodar ping localhost. Se receber respostas de 127.0.0.1, o endereço local está ativo — e o problema está na aplicação ou na porta, não no localhost.
E se você usa Docker, há uma armadilha específica. Dentro de um container, localhost se refere ao próprio container — não à sua máquina.
Isso quebra o caso mais comum: uma aplicação num container tentando falar com um banco de dados que roda no seu computador. Ela procura o banco dentro dela mesma, não encontra, e a conexão falha.
A solução depende do sistema: no Docker Desktop para Windows e macOS, existe o nome especial host.docker.internal, que aponta para a máquina hospedeira. No Linux, o caminho é usar o IP do gateway da rede do Docker, ou rodar o container com --network host.
A regra que evita a confusão: cada container tem o seu próprio localhost, exatamente como cada dispositivo tem o seu.
Como acessar meu localhost do celular?
Uma dúvida frequente de quem quer testar o site no telefone antes de publicar. E a primeira resposta é o que mais confunde: digitar localhost no celular não funciona — porque ali o localhost aponta para o próprio celular, não para o seu computador.
Cada dispositivo tem o seu próprio localhost. Para acessar a aplicação que roda no computador, é preciso usar o endereço IP dele na rede local.
Como fazer, em três passos:
1. Descubra o IP local da sua máquina. No Windows, abra o Prompt de Comando e rode ipconfig — procure o “Endereço IPv4”, que costuma começar com 192.168. ou 10.. No macOS e no Linux, o comando é ifconfig ou ip addr.
2. No celular, acesse esse IP com a porta da aplicação, por exemplo http://192.168.0.15:3000. Os dois aparelhos precisam estar na mesma rede Wi-Fi.
3. Se não carregar, o firewall do computador provavelmente está bloqueando conexões vindas da rede. É preciso liberar a porta usada pela aplicação.
Um detalhe que trava muita gente: algumas aplicações, por padrão, escutam apenas em 127.0.0.1 — o que significa que só aceitam conexões da própria máquina, mesmo com o firewall liberado. Nesse caso é preciso configurá-las para escutar em 0.0.0.0, o que as torna acessíveis por qualquer endereço da máquina. No React, por exemplo, isso se faz com HOST=0.0.0.0 antes do comando de start.
Localhost, domínio e URL
Um domínio é o nome que substitui o IP de um servidor na internet. Uma URL é o endereço completo até um recurso, com protocolo, domínio e caminho.
O localhost ocupa o lugar do domínio nessa estrutura. Em http://localhost:3000, você tem uma URL completa — só que apontando para a sua própria máquina em vez de um endereço público.
Usos comuns do localhost
O localhost é onde uma aplicação nasce. Antes de existir num servidor, ela roda ali — e isso muda a forma de trabalhar de três maneiras:
Desenvolvimento e depuração. Você altera o código, salva e recarrega o navegador. A mudança aparece instantaneamente, sem envio de arquivos, sem cache de servidor, sem risco de quebrar um site no ar.
Testes antes da publicação. Do front-end ao banco de dados, tudo pode ser testado com dados reais sem que ninguém veja. É onde os erros aparecem enquanto ainda são baratos de corrigir.
Aprendizado sem custo. Estudantes e iniciantes montam um ambiente completo — servidor web, PHP, banco de dados — sem contratar hospedagem. Ferramentas como XAMPP e WAMP existem exatamente para isso.
Um uso fora do desenvolvimento: bloquear sites
O arquivo hosts não serve só para apontar localhost. Ele pode apontar qualquer nome para qualquer IP — inclusive um site real para 127.0.0.1.
O efeito é um bloqueio local. Acrescentando uma linha como esta ao arquivo:
127.0.0.1 exemplo.com O navegador para de procurar o exemplo.com na internet e passa a procurá-lo na sua própria máquina. Como não há nada respondendo por aquele nome ali, o site simplesmente não abre.
É a base de vários bloqueadores de anúncios e de sites, que fazem exatamente isso em escala — algumas listas públicas de bloqueio têm dezenas de milhares de linhas.
⚠️ Duas limitações: vale só naquele computador, e é contornável por qualquer um que saiba editar o arquivo. Para controle parental sério, não é a ferramenta certa — é filtro de conveniência, não de segurança.
Como editar: nosso guia sobre o arquivo hosts mostra onde ele fica em cada sistema e como salvar as alterações.
Segurança: o que expor sem querer
O localhost é isolado por natureza — o tráfego não sai da máquina. O risco aparece quando essa fronteira é rompida sem intenção.
Ao mudar de 127.0.0.1 para 0.0.0.0, você torna a aplicação acessível a qualquer dispositivo da rede. Em casa, é a rede doméstica. Num café ou coworking, é todo mundo no Wi-Fi.
Ferramentas de túnel como ngrok e Cloudflare Tunnel expõem o localhost à internet inteira, com um endereço público. São úteis para demonstrar algo a um cliente — e perigosas quando esquecidas ligadas.
E o banco de dados local costuma ser o elo fraco: senha vazia ou root, porque “é só desenvolvimento”. Se a máquina for exposta, é a primeira coisa que um scanner encontra.
A regra prática: volte para 127.0.0.1 quando terminar de testar em outro dispositivo, e desligue o túnel quando a demonstração acabar.
Perguntas frequentes sobre localhost
O que é localhost?
Localhost é o nome que se refere ao seu próprio computador dentro de uma rede. Ele aponta para o endereço IP 127.0.0.1, na chamada interface de loopback — um “laço” que faz a máquina conversar consigo mesma sem que os dados saiam para a internet. É o endereço usado para acessar aplicações que rodam localmente.
Qual a diferença entre localhost e 127.0.0.1?
Nenhuma na prática: os dois apontam para o mesmo lugar. localhost é um nome, mais fácil de digitar e lembrar; 127.0.0.1 é o endereço IP correspondente. A associação entre os dois é feita no arquivo hosts do sistema, e você pode usar um ou outro de forma intercambiável na maioria dos casos.
O que significa o número depois do localhost, como localhost:3000?
É a porta — o canal que identifica qual serviço está respondendo. Como uma máquina pode rodar vários serviços ao mesmo tempo, a porta diz ao navegador com qual deles falar. A 3000 é padrão de Node.js e React, a 8080 de servidores Java, a 3306 do MySQL. Quando você acessa só localhost, o navegador usa a porta 80 implicitamente.
Por que meu localhost não abre?
As causas mais comuns são quatro: o servidor não foi iniciado, você está acessando a porta errada, outra aplicação já ocupa aquela porta, ou o firewall está bloqueando. Um teste rápido é rodar ping localhost no terminal — se responder de 127.0.0.1, o endereço está ativo e o problema está na aplicação ou na porta.
O que é ::1?
É o localhost em IPv6 — o equivalente ao 127.0.0.1 do IPv4. Ele causa um problema específico e confuso: às vezes uma aplicação recusa conexão em localhost mas aceita em 127.0.0.1, porque o sistema resolveu o nome para ::1 e o serviço só escuta em IPv4. Nesses casos, usar 127.0.0.1 explicitamente resolve.
Posso acessar meu localhost de outro computador ou do celular?
Não diretamente. O localhost digitado no celular aponta para o próprio celular, não para o seu computador. Para testar em outro aparelho da mesma rede, use o IP local da sua máquina — algo como 192.168.0.15:3000. Descubra esse endereço com ipconfig no Windows ou ifconfig no macOS e Linux.
Todo o bloco 127.x.x.x aponta para minha máquina?
Sim. A faixa inteira de 127.0.0.0 a 127.255.255.255 é reservada para loopback, então 127.0.0.2 e 127.5.4.3 também apontam para o seu computador. Na prática todo mundo usa o 127.0.0.1, mas os demais funcionam — e alguns desenvolvedores usam endereços diferentes da faixa para separar serviços em ambientes de teste.
Qual a diferença entre localhost e um servidor remoto?
O localhost é a sua própria máquina, acessível sem internet e visível só para você. Um servidor remoto está em outro lugar físico, exige conexão para ser acessado e serve o site para qualquer pessoa. Na prática, o localhost é onde a aplicação é desenvolvida; o servidor remoto é onde ela vive depois de publicada.
Meu site funciona no localhost mas quebra no servidor. Por quê?
É a diferença de ambiente. As causas mais frequentes são versão de PHP diferente entre as duas máquinas, credenciais do banco de dados que não foram atualizadas, caminhos absolutos escritos com a estrutura de pastas local, e diferença de maiúsculas e minúsculas nos nomes de arquivo — o Windows ignora, o Linux não.
Preciso de internet para usar o localhost?
Não. Todo o tráfego fica dentro da sua máquina e nunca sai para a rede. É justamente por isso que dá para desenvolver num voo ou num lugar sem conexão. A internet só passa a ser necessária quando a aplicação precisa consumir algo externo, como uma API.
O localhost é onde a aplicação nasce — mas ela só existe enquanto o seu computador está ligado, e só para você. Na Homehost, você envia os arquivos pelo painel ou por FTP e o projeto ganha um endereço próprio em minutos, com PHP, MySQL e SSL grátis já configurados. Servidor no Brasil e suporte em português, a partir de R$ 7,90/mês.
Ver planos de hospedagemConclusão
O localhost é o endereço mais simples da rede e, ao mesmo tempo, o que mais gera dúvida: ele não é um servidor, não é um domínio, e não está em lugar nenhum além da sua própria máquina.
Três coisas valem levar daqui. A porta é tão importante quanto o nome — localhost diz onde, e o número diz qual serviço responde ali. localhost, 127.0.0.1 e ::1 são o mesmo lugar, mas nem sempre o mesmo caminho, e é por isso que uma aplicação às vezes aceita um e recusa o outro. E cada dispositivo tem o seu próprio localhost — para ver o projeto no celular, é preciso o IP da máquina na rede.
O passo seguinte, quando a aplicação estiver pronta, é dar a ela um endereço que não dependa do seu computador estar ligado.