Gerador de inscrição estadual
Gere inscrições estaduais fictícias de qualquer estado e confira o dígito verificador com a regra da UF escolhida.
Número gerado
436.612.686.207
CSV (Excel) abre com dois cliques no Excel em português (ponto e vírgula, acentos certos). CSV usa vírgula, para programas e scripts. SQL sai sempre sem máscara, para caber na coluna de tamanho fixo. Importe como texto, para não perder os zeros à esquerda.
Validar inscrição estadual
Confere no seu navegador. Nada do que você digita ou cola é enviado.
Validar em lote: cole uma coluna da planilha
CSV (Excel) abre com dois cliques no Excel em português (ponto e vírgula, acentos certos). CSV usa vírgula, para programas e scripts.
A inscrição estadual não tem um formato nacional: cada estado define o tamanho, os pesos e a quantidade de dígitos verificadores. Escolha a UF, a quantidade e clique em Gerar para receber números fictícios que seguem a regra daquele estado. Na aba Validar, a conferência também é por UF. A página não consulta o cadastro de contribuintes: a situação de uma empresa só a Sefaz do estado informa.
Como usar
- Escolha a UF. A regra muda de estado para estado, então não há opção "qualquer" na conferência.
- Informe a quantidade, de 1 a 10.000, e uma semente, se quiser repetir a lista.
- Escolha com ou sem máscara. Sem máscara, saem só os dígitos.
- Clique em Gerar e copie ou baixe em lista, CSV, CSV (Excel), JSON ou SQL.
- Para conferir um número, abra a aba Validar, escolha a UF e cole a inscrição.
Por que cada estado tem a sua regra
A inscrição estadual é o registro do contribuinte do ICMS no cadastro da Secretaria da Fazenda de cada estado. Como o cadastro é estadual, cada Sefaz criou o seu número. O resultado são 27 regras: tamanhos de 8 a 14 dígitos, um ou dois dígitos verificadores, prefixos fixos em alguns estados e contas que variam do módulo 11 simples a casos bem particulares.
Isso tem uma consequência direta no seu sistema: não dá para validar inscrição estadual sem saber a UF. O mesmo número pode fechar a conta num estado e não fechar em outro.
Formato da inscrição estadual em cada UF
A tabela resume o formato de cada estado. A coluna de exemplo traz o número usado no roteiro de conferência que o Sintegra publica para aquela UF, quando o roteiro tem exemplo. Em "Começa com", o prefixo sem observação é exigido pelo validador. Onde está escrito "só no gerador", a página sorteia números com esse começo (o do exemplo do roteiro), mas o validador aceita qualquer começo, desde que o tamanho e os dígitos verificadores fechem.
| UF | Dígitos | Dígitos verificadores | Começa com | Exemplo do roteiro |
|---|---|---|---|---|
| AC | 13 | 2, módulo 11 | 01 | 01.004.823/001-12 |
| AL | 9 | 1, módulo 11 | 24 | 240000048 |
| AP | 9 | 1, módulo 11 com ajuste por faixa | 03 | 030123459 |
| AM | 9 | 1, módulo 11 | 04 (só no gerador) | roteiro sem exemplo |
| BA | 8 ou 9 | 2, módulo 10 ou 11 conforme o número | sem prefixo fixo | 123456-63 |
| CE | 9 | 1, módulo 11 | 06 (só no gerador) | 06000001-5 |
| DF | 13 | 2, módulo 11 | 07 | roteiro sem exemplo |
| ES | 9 | 1, módulo 11 | sem prefixo fixo | 999999990 |
| GO | 9 | 1, módulo 11 | 10, 11 ou 20 a 29 | 10.987.654-7 |
| MA | 9 | 1, módulo 11 | 12 | 120000385 |
| MT | 11 | 1, módulo 11 | sem prefixo fixo | 0013000001-9 |
| MS | 9 | 1, módulo 11 | 28 ou 50 | roteiro sem exemplo |
| MG | 13 | 2, o 1º por módulo 10 e o 2º por módulo 11 | sem prefixo fixo | 062.307.904/0081 |
| PA | 9 | 1, módulo 11 | 15 ou 75 a 79 | 75000002-3 |
| PB | 9 | 1, módulo 11 | 16 (só no gerador) | roteiro sem exemplo |
| PR | 10 | 2, módulo 11 | sem prefixo fixo | 123.45678-50 |
| PE | 9 (ou 14 na inscrição antiga) | 2 (1 na antiga), módulo 11 | sem prefixo fixo | 0321418-40 |
| PI | 9 | 1, módulo 11 | sem prefixo fixo | 012345679 |
| RJ | 8 | 1, módulo 11 | sem prefixo fixo | roteiro sem exemplo |
| RN | 9 ou 10 | 1, módulo 11 | 20 | 20.040.040-1 |
| RS | 10 | 1, módulo 11 | sem prefixo fixo | 224/3658792 |
| RO | 14 (9 antes de agosto de 2000) | 1, módulo 11 | 0000000 (só no gerador) | 0000000062521-3 |
| RR | 9 | 1, módulo 9 | 24 | 24006153-6 |
| SC | 9 | 1, módulo 11 | sem prefixo fixo | 251.040.852 |
| SP | 12 | 2, na 9ª e na 12ª posição | sem prefixo fixo | 110.042.490.114 |
| SE | 9 | 1, módulo 11 | 27 (só no gerador) | 27123456-3 |
| TO | 11 | 1, módulo 11 | 29 | 29 01 022783 6 |
Os roteiros estão na página Conferência de Inscrições Estaduais (abre em nova aba), do Sintegra. O próprio Sintegra avisa que eles podem não cobrir formatos mais novos de inscrição. Quando houver diferença, vale a regra publicada pela Sefaz do estado.
Em São Paulo, o produtor rural tem um formato à parte: a letra P seguida de 12 dígitos, com um dígito verificador só. Em Tocantins, o 3º e o 4º dígitos indicam o tipo de inscrição e ficam fora da conta.
Exemplo resolvido: São Paulo
São Paulo é um bom teste porque tem dois dígitos verificadores em posições separadas: o 1º fica na 9ª posição e o 2º na 12ª. O exemplo é o do roteiro oficial, 110.042.490.114.
Para o 1º dígito, multiplique os oito primeiros dígitos pelos pesos 1, 3, 4, 5, 6, 7, 8 e 10. Some, divida por 11 e fique com o algarismo mais à direita do resto.
| Dígito | 1 | 1 | 0 | 0 | 4 | 2 | 4 | 9 | Soma |
|---|---|---|---|---|---|---|---|---|---|
| Peso | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | sem valor |
| Produto | 1 | 3 | 0 | 0 | 24 | 14 | 32 | 90 | 164 |
O resto de 164 por 11 é 10. O algarismo mais à direita de 10 é 0, então o 1º dígito é 0.
Para o 2º dígito, use os onze primeiros dígitos, já com o 1º verificador, e os pesos 3, 2, 10, 9, 8, 7, 6, 5, 4, 3 e 2. A soma dá 125 e o resto por 11 é 4. O 2º dígito é 4.
Digite um número completo para ver a conta.
Conta feita com o número 110.042.490.114 (regra de SP).
Gere ou valide outro acima e a conta muda junto.
1º dígito verificador
| 1º dígito | 1 | 1 | 0 | 0 | 4 | 2 | 4 | 9 |
|---|---|---|---|---|---|---|---|---|
| Dígito | 1 | 1 | 0 | 0 | 4 | 2 | 4 | 9 |
| Peso | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 10 |
| Produto | 1 | 3 | 0 | 0 | 24 | 14 | 32 | 90 |
O DV é o algarismo mais à direita do resto 10: 0.
2º dígito verificador
| 2º dígito | 1 | 1 | 0 | 0 | 4 | 2 | 4 | 9 | 0 | 1 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Dígito | 1 | 1 | 0 | 0 | 4 | 2 | 4 | 9 | 0 | 1 | 1 |
| Peso | 3 | 2 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| Produto | 3 | 2 | 0 | 0 | 32 | 14 | 24 | 45 | 0 | 3 | 2 |
O DV é o algarismo mais à direita do resto 4: 4.
A regra mais comum: 9 dígitos e módulo 11
Dez estados usam a mesma conta básica: CE, ES, GO, MA, MS, PA, PB, PI, SC e SE. São oito dígitos de base e um verificador. Multiplique a base pelos pesos 9, 8, 7, 6, 5, 4, 3 e 2, some e pegue o resto por 11. Se o resto for 0 ou 1, o dígito é 0. Senão, é 11 menos o resto.
Exemplo do roteiro de Goiás, 10.987.654-7: a soma é 202, o resto é 4 e o dígito é 11 − 4 = 7.
Mesmo nesse grupo há diferenças. Goiás, Maranhão, Mato Grosso do Sul e Pará exigem que o número comece com os prefixos da tabela. Um validador que confere só a conta aceita números que a Sefaz desses estados nunca emitiria.
O que testar no seu sistema
- Campo de UF obrigatório junto da inscrição. Sem a UF, não há o que validar.
- Coluna de texto com pelo menos 14 caracteres. Rondônia e a inscrição antiga de Pernambuco têm 14 dígitos, e o produtor rural paulista tem uma letra.
- Zeros à esquerda preservados. Vários estados têm inscrições que começam com zero.
- Empresa sem inscrição. Muitos cadastros e layouts fiscais aceitam a palavra
ISENTOno lugar do número. Decida como o seu sistema trata esse valor. - Estados com dois tamanhos: Bahia (8 ou 9), Rio Grande do Norte (9 ou 10) e Pernambuco (9 ou 14).
O código pronto desta página mostra a conta de só três UFs (SP, GO e SC), para ilustrar as duas famílias de regra mais comuns. As 27 regras estão no gerador e no validador da página.
Para testar uma nota fiscal de ponta a ponta, combine a inscrição com um CNPJ do gerador de CNPJ e com uma chave de acesso de NF-e da mesma UF.
Inscrições inválidas para teste negativo
Para cada UF, o gerador cria números com defeito conhecido:
- Dígito verificador errado.
- Tamanho que a UF não aceita.
- Prefixo errado, nos estados que têm prefixo fixo.
- Inscrição certa de outro estado, para testar se o seu sistema usa mesmo a UF na validação.
Cuidados legais
Os números são sorteados no seu navegador e não vêm do cadastro de contribuintes de nenhum estado. Um número sorteado pode coincidir com a inscrição de uma empresa real, então não use o resultado para identificar empresa nenhuma.
Usar inscrição estadual inventada em nota fiscal, cadastro de fornecedor ou qualquer documento pode configurar crime, como falsidade ideológica (art. 299 do Código Penal).
Código pronto para o seu projeto
const soma = (digitos, pesos) => pesos.reduce((s, p, i) => s + Number(digitos[i]) * p, 0);
// Regra comum a CE, ES, GO, MA, MS, PA, PB, PI, SC e SE (9 dígitos).
// Atenção: GO, MA, MS e PA também exigem prefixo. Confira à parte.
function digitoIeComumConfere(ie) {
const n = String(ie).replace(/\D/g, '');
if (n.length !== 9) return false;
const resto = soma(n, [9, 8, 7, 6, 5, 4, 3, 2]) % 11;
return (resto < 2 ? 0 : 11 - resto) === Number(n[8]);
}
// São Paulo (12 dígitos): verificadores na 9ª e na 12ª posição.
function digitoIeSpConfere(ie) {
const n = String(ie).replace(/\D/g, '');
if (n.length !== 12) return false;
const dv1 = (soma(n, [1, 3, 4, 5, 6, 7, 8, 10]) % 11) % 10;
const dv2 = (soma(n, [3, 2, 10, 9, 8, 7, 6, 5, 4, 3, 2]) % 11) % 10;
return dv1 === Number(n[8]) && dv2 === Number(n[11]);
}
const POR_UF = { SP: digitoIeSpConfere, GO: digitoIeComumConfere, SC: digitoIeComumConfere };
POR_UF.SP('110.042.490.114'); // true
POR_UF.GO('10.987.654-7'); // true
POR_UF.SC('10.987.654-8'); // false import random
def soma(digitos: str, pesos: tuple[int, ...]) -> int:
return sum(int(d) * p for d, p in zip(digitos, pesos))
def gerar_ie_sp(rng: random.Random) -> str:
"""Inscrição paulista de 12 dígitos, sem máscara."""
base = f"{rng.randrange(10**8):08d}"
dv1 = soma(base, (1, 3, 4, 5, 6, 7, 8, 10)) % 11 % 10
meio = f"{rng.randrange(100):02d}"
onze = base + str(dv1) + meio
dv2 = soma(onze, (3, 2, 10, 9, 8, 7, 6, 5, 4, 3, 2)) % 11 % 10
return onze + str(dv2)
def gerar_ie_comum(rng: random.Random, prefixo: str = "") -> str:
"""9 dígitos, pesos 9 a 2. Passe o prefixo quando a UF exigir (ex.: "12" no MA)."""
base = prefixo + "".join(str(rng.randrange(10)) for _ in range(8 - len(prefixo)))
resto = soma(base, (9, 8, 7, 6, 5, 4, 3, 2)) % 11
return base + str(0 if resto < 2 else 11 - resto)
rng = random.Random(2026) # mesma semente, mesma lista
massa = [("SP", gerar_ie_sp(rng)) for _ in range(50)]
massa += [("MA", gerar_ie_comum(rng, "12")) for _ in range(50)] -- A inscrição só faz sentido junto com a UF. Texto de até 14 caracteres,
-- com zeros à esquerda, e espaço para o valor ISENTO.
CREATE TABLE contribuintes_teste (
cnpj CHAR(14) NOT NULL,
uf CHAR(2) NOT NULL,
inscricao_estadual VARCHAR(14) NOT NULL
);
INSERT INTO contribuintes_teste (cnpj, uf, inscricao_estadual) VALUES
('11222333000181', 'SP', '110042490114'),
('12ABC34501DE35', 'GO', '109876547'); Fontes
Perguntas frequentes
A inscrição estadual gerada é de uma empresa de verdade?
Não. Ela é sorteada no seu navegador e só segue a regra de formação da UF escolhida. Não está no cadastro de contribuintes e é recusada em qualquer consulta à Sefaz. Serve para teste de software.
Quantos dígitos tem a inscrição estadual?
Depende do estado. Vai de 8 a 14 dígitos, e a maioria dos estados usa 9. A tabela da página mostra o tamanho em cada UF.
Dá para validar inscrição estadual sem saber o estado?
Não com segurança. Cada estado tem pesos e regras próprios, e um mesmo número pode passar na conta de um estado e falhar na de outro. Peça sempre a UF junto com a inscrição.
Como saber se uma inscrição estadual está ativa?
Só pelo cadastro de contribuintes da Sefaz do estado ou pelo Sintegra. Esta página confere se o número segue a regra de formação e não busca a situação em cadastro nenhum.
Qual estado tem a regra mais diferente?
Alguns fogem bastante do padrão. São Paulo põe os dígitos verificadores na 9ª e na 12ª posição, Minas Gerais calcula o primeiro dígito por módulo 10 e Roraima usa módulo 9.
O gerador cobre produtor rural de São Paulo?
Sim, como opção na UF de São Paulo. O formato é a letra P seguida de 12 dígitos, com um dígito verificador calculado sobre os oito primeiros.
Leia também
Veja também
Gerador de CNPJ
Numérico ou alfanumérico, de 1 a 10.000, em CSV, JSON ou SQL.
13.712.274/0001-55Chave de acesso da NF-e
Cole a chave de 44 posições para ver cada campo e conferir o dígito, ou gere chaves para teste.
3520 0571 2274 … 7227Validar CNPJ
Confira um número ou cole uma coluna inteira da planilha.
I3.AYB.6K2/0001-03 · VálidoMassa de teste
Vários tipos de número num arquivo só, uma coluna por tipo, até 10.000 linhas.
cnpj,cpf,pisAtualizado em 14/11/2026.