Validador de RG
Valide números de RG no formato SP (9 dígitos + dígito verificador). Verificação no navegador, sem enviar dados para servidores.
Como funciona a validação do RG de SP?
O RG de São Paulo tem 8 dígitos base e 1 dígito verificador. O verificador é calculado pela soma ponderada dos 8 dígitos com pesos [2,3,4,5,6,7,8,9] e módulo 11. Se o resto for 0 o verificador é 0; se for 1, é X; caso contrário é 11 menos o resto.
A verificação acontece inteiramente no seu navegador.
Validacao de RG: a pegadinha de nao existir algoritmo nacional
O RG (Registro Geral) e o documento de identidade emitido pelos estados brasileiros. Diferente de CPF, CNPJ ou RENAVAM, o RG nao tem algoritmo nacional de digito verificador. Cada SSP (Secretaria de Seguranca Publica) das 27 unidades federativas define o proprio formato, a propria quantidade de digitos e a propria regra de DV — ou regra nenhuma. Qualquer ferramenta que diga validar "RG" de forma universal esta, no melhor cenario, validando a regra de SP e silenciosamente rejeitando documentos validos de outros estados.
Esta pagina foca no que um validador realmente pode fazer: aplicar sintaxe por estado, rodar o modulo 11 de SP, sanitizar input, integrar com bibliotecas de formulario e sinalizar combinacoes suspeitas. Para um RG sintetico com DV SP valido, veja a ferramenta geradora correspondente.
O algoritmo do RG de SP (o unico publicado em uso amplo)
A regra da SSP/SP e a mais documentada e a unica que a maioria das bibliotecas realmente implementa. O numero tem 8 digitos mais um digito verificador, exibido como XX.XXX.XXX-D. O DV pode ser 0-9 ou X (10 em algarismo romano).
- Multiplique os 8 primeiros digitos pelos pesos 2, 3, 4, 5, 6, 7, 8, 9.
- Some os produtos.
resto = soma mod 11.- Se
resto == 10, DV = X; caso contrario DV =resto.
function validarRgSP(valor) {
const raw = String(valor).replace(/[^0-9X]/gi, '').toUpperCase();
if (raw.length !== 9) return false;
const digitos = raw.slice(0, 8);
const dv = raw[8];
if (!/^\d{8}$/.test(digitos)) return false;
const pesos = [2, 3, 4, 5, 6, 7, 8, 9];
const soma = pesos.reduce((a, p, i) => a + Number(digitos[i]) * p, 0);
const r = soma % 11;
const esperado = r === 10 ? 'X' : String(r);
return esperado === dv;
}
Outros estados: o que muda
- RJ (Detran/IFP): normalmente 9 digitos com DV numerico; algoritmo nao publicado oficialmente, por isso bibliotecas caem em validacao so de formato.
- MG: formato
MG-XX.XXX.XXXcom letras como prefixo; sem formula publica de DV. - RS, BA, PE, PR, SC: variam entre 8 e 10 digitos; alguns usam DV sequencial sem modulo 11.
- DF: 8 digitos emitidos pela Policia Civil do DF; regra de DV nao divulgada.
- Policia Federal (RNE): estrangeiros tem um RNE (hoje CRNM) com padrao alfanumerico proprio.
Na pratica, um validador multi-estados deveria no maximo: (i) remover pontuacao, (ii) checar quantidade de digitos contra a UF emissora, (iii) rodar o modulo 11 quando o emissor for SP e (iv) rejeitar padroes obvios como 00000000-0.
Regex de pre-validacao e mascaras
// Aceita pontuacao, mas trata X so na ultima posicao
const RG_SP_RE = /^\d{1,2}\.?\d{3}\.?\d{3}-?[0-9Xx]$/;
const limpo = input.replace(/[^0-9Xx]/g, '').toUpperCase();
Cuidado: o input deve aceitar tanto a forma mascarada 12.345.678-X como a forma sem mascara 12345678X. Remova pontos, hifens e espacos antes de aplicar o algoritmo. Nunca faca lowercase depois da comparacao — coloque o input em uppercase antes.
Bibliotecas JavaScript, Python e Laravel
- brazilian-values (npm): traz
isRG(), mas documenta explicitamente o escopo SP. - brazilian-utils (npm): checagem generica de formato, sem DV por estado.
- validador-br (PyPI): expoe
rgcom regra SP e modosomente_formato. - geekcom/validator-docs (Laravel): regra
'rg'valida apenas SP por padrao.
CIN: a carteira nacional que vai substituir o RG
Criada pela Lei 13.444/2017 e implantada progressivamente desde 2023, a Carteira de Identidade Nacional (CIN) reaproveita o CPF como numero unico nacional. O cartao e policarbonato, traz assinatura digital ICP-Brasil e um QR Code para verificacao offline. O plano do governo substitui os 27 RGs estaduais pela CIN ate 2032. Apos a migracao completa, "validar RG" vira "validar CPF + assinatura" — muito mais simples e finalmente uniforme.
Antifraude: cruzar RG com CPF e data de nascimento
Um RG sozinho e prova fraca de identidade, especialmente porque um brasileiro pode legalmente ter varios RGs (um por estado) — uma anomalia historica. Fluxos solidos de onboarding cruzam pelo menos tres campos:
- Numero do RG com UF emissora e SSP-orgao expedidor.
- CPF validado pelo proprio modulo 11.
- Data de nascimento e nome completo para consultar Serasa, Boa Vista ou Quod.
Fornecedores modernos de KYC (Idwall, Unico, Stripe Identity Brasil, AcessoBio) cada vez mais abandonam o RG e apostam em CPF + biometria facial, contando com o rollout completo da CIN nos proximos cinco anos.
Nao ha API governamental de consulta
Nao existe API publica de consulta de RG. Cada SSP estadual roda um sistema fechado, acessivel so a policia e a orgaos parceiros. Mesmo a CIN, apesar das assinaturas digitais, nao tem endpoint aberto — o QR Code e lido por um app do TSE que chama um backend restrito do gov.br. Estruturalmente diferente do CPF (que tem consulta gratuita na RFB) e significa que validacao de RG sempre sera sintatica no cliente, nunca autoritativa.
FAQ
Existe um algoritmo unico nacional de RG? Nao. Apenas SP tem regra publica de modulo 11. Os demais estados nao divulgam a formula do DV.
Por que meu RG termina com X? O X representa 10 no algoritmo modulo 11 de SP. Cerca de 9% dos RGs de SP terminam em X.
A CIN substitui o RG? Sim, gradualmente ate 2032. Novas emissoes ja saem como CIN, mas RGs existentes seguem validos durante a transicao.
Da para validar RG online por API do governo? Nao. Nao ha endpoint publico. Qualquer servico que diz "verificar RG" esta so checando formato, ou comprando dados de bureau privado.
O RG vence? Juridicamente nao, mas bancos e aeroportos rejeitam documentos com foto de mais de 10 anos. A CIN introduz renovacao recomendada a cada 10 anos.
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 um número de RG (formato SP)
O RG no formato de São Paulo tem nove dígitos, sendo o último um dígito verificador calculado a partir dos demais. Este validador refaz esse cálculo e indica na hora se o número está bem formado, pegando erros de digitação em cadastros.
É útil para conferir um formulário, validar uma planilha ou limpar uma base de dados que contenha RGs paulistas. Vale notar que o RG não tem um padrão nacional único como o CPF — cada estado tem o seu —, então esta validação se aplica especificamente ao formato de SP.
A verificação roda inteiramente no navegador, sem enviar dados para servidores. Pode conferir documentos reais com tranquilidade, já que nada do que você digita sai do dispositivo.