Códigos EPSG do Brasil e da América Latina: Guia Rápido de Consulta
Um código EPSG é um número que representa um sistema de referência de coordenadas inteiro — datum, unidades e, se houver, a projeção. Esta página é o que você consulta quando um arquivo brasileiro ou latino-americano te entrega um número e nenhuma explicação: qual é o código do SIRGAS 2000, qual zona UTM cobre qual estado, e como converter entre eles.
Todo código aqui foi lido direto do GDAL em 11 de setembro de 2026 — GDAL 3.13.3 "Iowa City", PROJ 9.8.1 — não de memória. Quando o nome que uma ferramenta mostra difere do nome que está na WKT, os dois são impressos: essa diferença é exatamente o que transforma uma busca por datum num resultado vazio.
O que um código EPSG realmente é
Um código EPSG é um identificador de registro para um sistema de referência de coordenadas. Um único número representa uma definição inteira — datum, elipsoide, meridiano de origem, unidades e, se o SRC for projetado, a projeção e os seus parâmetros. Escrever EPSG:4674 já diz "graus no datum SIRGAS 2000", em vez de quarenta linhas de WKT.
É por isso que "meu arquivo não tem EPSG" é uma reclamação tão comum. O .prj de um Shapefile não guarda um número; guarda WKT, e se um leitor consegue transformar esse texto de volta num código depende de quão perto ele bate com o registro. O nosso guia de Shapefile cobre os arquivos-satélite; as autoridades para os códigos são o epsg.org e a documentação do PROJ.
Alguns formatos não têm onde guardar um SRC, e um padrão é assumido em silêncio. Rode ogrinfo -so -al num GeoJSON puro e o OGR reporta GEOGCRS["WGS 84" com ID["EPSG",4326] — nada no arquivo disse isso. No Brasil isso é perigoso justamente porque quase funciona: SIRGAS 2000 e WGS 84 concordam a bem menos de um metro, então o ponto de partida errado ainda parece certo.
Uma propriedade para internalizar logo de cara: códigos EPSG são densos, não esparsos. Um erro de um dígito geralmente cai em outro SRC válido em algum lugar do mundo. EPSG:4674 é SIRGAS 2000; EPSG:4675 é GEOGCS["Guam 1963". Nada reclama — os seus dados simplesmente se movem.
O conjunto brasileiro: SIRGAS 2000, SAD 69 e Córrego Alegre
Os códigos que você encontra em dados brasileiros, cada um com o nome que o GDAL imprime. Todos estão no seletor do nosso conversor de coordenadas.
Em uso atual
Estes são os códigos que você escolhe para um trabalho novo:
- EPSG:4674 —
GEOGCS["SIRGAS 2000"; em graus, o referencial nacional, e a resposta certa para qualquer coisa em latitude e longitude. - EPSG:31978 a EPSG:31985 —
PROJCS["SIRGAS 2000 / UTM zone 18S"atéPROJCS["SIRGAS 2000 / UTM zone 25S"; em metros, cobertas zona por zona logo abaixo. - EPSG:5880 —
PROJCS["SIRGAS 2000 / Brazil Polyconic"; a projeção de extensão nacional, para quando um conjunto de dados cobre o país inteiro e nenhuma zona UTM isolada resolve. A sua irmã Mercator, EPSG:5641, éPROJCS["SIRGAS 2000 / Brazil Mercator". - EPSG:32722, EPSG:32723, EPSG:32724 —
PROJCS["WGS 84 / UTM zone 22S"e as suas vizinhas 23S e 24S; a mesma grade sobre o datum WGS 84, que é o que um receptor de GPS te entrega.
O conjunto legado que você herda
Você não escolhe esses; você os recebe, geralmente em algo digitalizado antes de 2005. O conversor marca cada um deles com — legacy.
- EPSG:4618 —
GEOGCS["SAD69"na WKT, sem espaço. O seletor mostraSAD 69 — legacy (EPSG:4618), com espaço, então procurar num.prjpelo rótulo da interface não encontra nada. - EPSG:29192 e EPSG:29193 —
PROJCS["SAD69 / UTM zone 22S"ePROJCS["SAD69 / UTM zone 23S"; o par UTM antigo do sudeste populoso. - EPSG:29101 —
PROJCS["SAD69 / Brazil Polyconic"; a antecessora da 5880, e o motivo de um mapa nacional antigo cair dezenas de metros fora do lugar. - EPSG:4225 —
GEOGCS["Corrego Alegre 1970-72". A WKT do GDAL vem sem acento; o rótulo da opção escreveCórrego Alegre 1970-72 — legacy (EPSG:4225), e este artigo escreve Córrego Alegre com acento no texto corrido. Procure no.prjpela string sem acento.
Os dois códigos globais
Mais dois aparecem em todo projeto, seja qual for o país:
- EPSG:4326 —
GEOGCS["WGS 84"; em graus, a língua franca do GPS e do GeoJSON. - EPSG:3857 —
PROJCS["WGS 84 / Pseudo-Mercator"; o sistema em que todo mapa web renderiza, e um péssimo lugar para calcular qualquer coisa.
As unidades do EPSG:3857 não são metros. Elas só valem como metros no equador, e o erro cresce com a latitude. Medido em São Paulo em 11 de setembro de 2026, dois pontos na latitude -23.5505 e 0.1° de distância em longitude ficam 11,131.949 unidades afastados em 3857 contra uma distância geodésica real de 10,210.207 m — um exagero de 9.03%, 921.7 m numa linha de 10.2 km. A razão, 1.09028, é bem próxima de 1/cos(23.5505°), ou seja 1.09086. O mesmo par em EPSG:31983 dá 10,209.419 m de distância, 0.788 m longe da geodésica, o efeito esperado do fator de escala 0.9996 do UTM. Meça em UTM ou na Polyconic; renderize em 3857.
Escolhendo uma zona UTM no Brasil
Os códigos UTM do SIRGAS 2000 são contíguos, então existe uma regra em vez de uma tabela de consulta: 31977 + (zone - 17), cobrindo as zonas 17S a 25S. O GDAL confirma — gdalsrsinfo -o proj4 EPSG:31983 imprime +proj=utm +zone=23 +south. Não extrapole para além do bloco: EPSG:31986 não é a zona 26S, é PROJCS["SIRGAS 1995 / UTM zone 17N" — outro datum, o outro hemisfério.
As listas abaixo foram calculadas em 11 de setembro de 2026 a partir dos limites estaduais de máxima qualidade do IBGE, via a API de malhas linkada no final. Um estado aparece em toda zona que a sua fronteira alcança, não numa única zona que uma tabela-resumo atribuiria a ele.
Zona por zona
Cada zona lista os estados cuja fronteira entra nela:
- Zona 18S — EPSG:31978 — oeste do Acre, oeste do Amazonas. O ponto mais a oeste do Brasil fica em torno de 73.99°W, dentro da zona 18, então nenhum estado brasileiro alcança a zona 17S;
EPSG:31977é oferecido para o resto da cobertura continental do SIRGAS 2000. - Zona 19S — EPSG:31979 — leste do Acre, incluindo Rio Branco, centro do Amazonas, oeste de Rondônia.
- Zona 20S — EPSG:31980 — Amazonas, a maior parte de Rondônia e Roraima, oeste do Mato Grosso.
- Zona 21S — EPSG:31981 — leste do Amazonas, Rondônia e Roraima, Mato Grosso, e as bordas ocidentais de Pará, Amapá, Mato Grosso do Sul, Paraná e Rio Grande do Sul.
- Zona 22S — EPSG:31982 — Santa Catarina inteira, mais Paraná, Rio Grande do Sul, Mato Grosso do Sul, leste do Mato Grosso, Goiás, Pará, leste do Amapá, e as bordas ocidentais de Distrito Federal, São Paulo, Tocantins e Minas Gerais, mais a fatia oeste do Maranhão.
- Zona 23S — EPSG:31983 — São Paulo incluindo a capital, quase todo o Maranhão, a maior parte de Minas Gerais, leste do Distrito Federal, Goiás, Tocantins e Pará, oeste do Piauí, Bahia e Rio de Janeiro.
- Zona 24S — EPSG:31984 — Ceará e Sergipe inteiros, Espírito Santo, leste da Bahia, Piauí, Minas Gerais e Rio de Janeiro, e o interior do Rio Grande do Norte, Paraíba, Pernambuco e Alagoas, mais a fatia leste do Maranhão.
- Zona 25S — EPSG:31985 — a ponta leste do Nordeste, a leste de 36°W: Natal, João Pessoa, Recife e Maceió, mais Fernando de Noronha.
Os estados que atravessam duas zonas, ou mais
Alguns estados se recusam a ficar numa zona só, e são esses os casos que geram discussão:
- O Amazonas atravessa quatro zonas — de 18S a 21S. Não existe uma "zona UTM do Amazonas"; um conjunto de dados que cobre o estado inteiro usa uma projeção nacional ou fica em graus.
- Pará, Mato Grosso, Minas Gerais e Maranhão atravessam três cada um. As duas pontas do Maranhão são fatias finas: o grosso está em 23S, com uma borda oeste em 22S e uma borda leste em 24S.
- O Distrito Federal atravessa duas, assim como o município de Brasília sozinho: a sua fronteira vai de 48.29°W a 47.31°W, cruzando o meridiano de 48°W entre
EPSG:31982eEPSG:31983. - Só três estados ficam numa única zona — Santa Catarina na 22S, Ceará e Sergipe na 24S.
- As ilhas do Atlântico caem fora da faixa. A malha do IBGE para o município de Vitória inclui terra em 28.85°W, o grupo de Trindade e Martim Vaz, na zona 26S — além do último código UTM do SIRGAS 2000 oferecido.
- Quando um conjunto de dados cruza zonas, pare de escolher uma zona.
EPSG:5880cobre o país inteiro num único sistema projetado;EPSG:4674mantém tudo em graus até que algo precise de metros.
O conjunto latino-americano
O mesmo conversor de coordenadas move um ponto entre qualquer um destes e o conjunto brasileiro. Vários são nomes que parecem certos e não são, então a string do GDAL é impressa para cada um.
Colômbia
A Colômbia roda em MAGNA-SIRGAS, em dois códigos fáceis de confundir:
- EPSG:4686 —
GEOGCS["MAGNA-SIRGAS"; geográfico, o referencial nacional. - EPSG:9377 —
PROJCS["MAGNA-SIRGAS 2018 / Origen-Nacional". Guarde o 2018: essa é uma realização de datum diferente, não uma versão projetada da 4686. Na WKT, o datum da 9377 carregaAUTHORITY["EPSG","1329"], enquanto o da 4686 carregaAUTHORITY["EPSG","6686"].
Argentina
O par argentino separa o referencial geográfico da grade:
- EPSG:5340 —
GEOGCS["POSGAR 2007"; geográfico, em graus. Não é a grade argentina, e chamá-lo assim é o erro mais comum cometido com esse código. - EPSG:5343 e EPSG:5349 —
PROJCS["POSGAR 2007 / Argentina 1"ePROJCS["POSGAR 2007 / Argentina 7"; as faixas Gauss-Krüger, essas sim em metros.
Chile
O Chile tem um código oferecido e um vizinho que não é o mesmo referencial:
- EPSG:5360 —
GEOGCS["SIRGAS-Chile 2002". Repare no 2002. A realização de 2016 é um código separado,EPSG:9153, que o GDAL nomeiaGEOGCS["SIRGAS-Chile 2016"e que o conversor não oferece. Renomear a 5360 para "2016" mistura dois referenciais diferentes.
México
O México repete a mesma divisão entre geográfico e projetado:
- EPSG:6365 —
GEOGCS["Mexico ITRF2008"; geográfico, em graus, e também não é uma grade. - EPSG:6362 —
PROJCS["Mexico ITRF92 / LCC"; a cônica conforme de Lambert, a projetada do par.
O referencial continental
Um código cobre o continente, mais o vizinho com que ele é confundido:
- EPSG:4170 —
GEOGCS["SIRGAS 1995"; a primeira realização continental do SIRGAS, geográfica, encontrada em conjuntos de dados regionais arquivados, e não escolhida para trabalho novo. - Não é o referencial do Uruguai. O SIRGAS-ROU98 é
EPSG:5381,GEOGCS["SIRGAS-ROU98", e a sua grade éEPSG:5382,PROJCS["SIRGAS-ROU98 / UTM zone 21S". Nenhum dos dois é oferecido pelo conversor.
Convertendo entre eles: converter SIRGAS 2000 para UTM e WGS 84
No navegador
Cole uma coordenada no conversor de coordenadas, escolha um SRC, e leia todas as outras representações do mesmo ponto: graus decimais, DMS, easting e northing UTM, WKT, EWKT e WKB. Tudo roda dentro da página. Vale saber quatro coisas.
- Ele oferece 42 códigos em cinco grupos, e todo código dos conjuntos brasileiro e latino-americano acima é um deles. Os quatro que este artigo cita só para te avisar —
EPSG:4675,EPSG:9153,EPSG:5381eEPSG:5382— estão deliberadamente ausentes, assim como oEPSG:31986. - Os nomes dos grupos são em inglês em todos os idiomas.
Global,Brasil,Latin America,EuropeeNorth Americaestão fixos no código, então as versões em português e espanhol mostram essas mesmas cinco palavras. - Os rótulos das opções também estão fixos no código, e é por isso que
SAD 69 — legacy (EPSG:4618)eSIRGAS-Chile 2002 — Chile (EPSG:5360)aparecem iguais nos três idiomas. O marcador— legacyé um aviso: datums que você encontra, não datums que você escolhe. - Não existe deep link. A página não lê nada da query string, então uma URL com uma coordenada anexada abre um formulário vazio.
Na linha de comando
Use a linha de comando quando você tem um arquivo ou mil pontos — não porque falte algo no seletor. As transcrições abaixo rodaram em 11 de setembro de 2026, todas sobre um único ponto: a Praça da Sé, em São Paulo, em -23.5505, -46.6333.
- cs2cs —
echo "-23.5505 -46.6333" | cs2cs -f "%.3f" EPSG:4674 EPSG:31983imprime333287.915 7394588.319 0.000. Para a Polyconic,cs2cs -f "%.3f" EPSG:4674 EPSG:5880imprime5751824.537 7375179.974 0.000. - A ordem dos eixos é a armadilha. Dado um código
EPSG:, o PROJ respeita a ordem de eixos da autoridade, então a entrada paraEPSG:4674é latitude e depois longitude. Inverta para longitude e latitude e você recebe uma resposta silenciosamente errada, não um erro. - O gdaltransform usa a ordem oposta.
echo "-46.6333 -23.5505" | gdaltransform -s_srs EPSG:4674 -t_srs EPSG:31983imprime333287.91510143 7394588.31863695 0— o mesmo ponto até o milímetro, o mesmo conjunto de ferramentas, a entrada invertida. - ogr2ogr para o arquivo —
ogr2ogr -s_srs EPSG:4674 -t_srs EPSG:31983 -f GeoJSON out.geojson in.geojsonescreve"name": "urn:ogc:def:crs:EPSG::31983"e o mesmo easting e northing. O-s_srsé o que torna isso correto num GeoJSON, que não carrega SRC nenhum por conta própria. - Confira as versões antes de confiar numa transcrição —
gdalinfo --versionimprimeGDAL 3.13.3 "Iowa City", released 2026/08/13. Para o PROJ usecs2cs 2>&1 | head -1, que imprimeRel. 9.8.1, April 10th, 2026, porquecs2cs --versionsai com status de erro.
Arquivos de teste que você pode usar
Cada linha abaixo foi checada em 11 de setembro de 2026 com um user agent de navegador, a partir de uma única máquina. Um status é indicativo: uma fonte que responde para a gente pode recusar você.
- O registro EPSG — epsg.org respondeu 200; busque por código ou por área. A origem pura redireciona com um 302, então linke a página, não a origem. O conjunto de dados está disponível sem custo, e a titularidade da IOGP "deve ser reconhecida em qualquer publicação ou transmissão" segundo os seus termos.
- Documentação do PROJ — proj.org respondeu 200 com um cabeçalho CORS aberto, e a origem pura também é um 302 para lá. O PROJ é distribuído sob a licença X/MIT, e a página da Mercator transversa respondeu 200.
- API de malhas do IBGE, um arquivo em vez de um portal — o limite do Brasil em GeoJSON respondeu 200 com
access-control-allow-origin: *, então funciona tanto direto de uma página web quanto como download. Acrescente&intrarregiao=UFpara as malhas estaduais de onde vieram as listas de zonas. A página da API não declara licença — credite o IBGE e confira os termos do portal antes de republicar. - Portal de downloads do IBGE — downloads-geociencias respondeu 403 para o nosso script, e também para um user agent de navegador, atrás de uma barreira do Cloudflare — um desafio que uma pessoa resolve de forma interativa e um script não. Baixe de lá num navegador; não busque o arquivo a partir de uma aplicação web. Um filtro de bot, não um link morto.
- INEGI, México — inegi.org.mx/temas/mapas respondeu 200 para um user agent de navegador, sem cabeçalho CORS: baixe direto de lá, não busque via uma aplicação web.
- IGAC, Colômbia — igac.gov.co respondeu 200 e publica através de uma seção de dados abertos, com os termos de uso linkados no rodapé. Um aviso: o seu subdomínio de geoportal simplesmente não respondeu, com timeout depois de 10.3 segundos em dois user agents diferentes. Pode ser que só responda de dentro da Colômbia.
- Servidor de arquivos do IBGE — geoftp.ibge.gov.br respondeu 200 via https com um cabeçalho CORS aberto, e guarda o grosso dos produtos cartográficos.
Leve o hábito por trás desta página adiante: antes de escrever um código em qualquer lugar, pergunte ao software o que ele significa. gdalsrsinfo -o wkt1 EPSG:5360 diz 2002, não 2016. Se o seu próximo arquivo for um raster em vez de uma lista de pontos, a mesma disciplina vale para a organização dos bytes dele: o nosso guia sobre Cloud Optimized GeoTIFF faz pelo layout o que esta página faz pelos códigos, e o Geodocs cuida dos dois para uma equipe de campo.