bateCarimbo.
ABC1D23 · ABC-1234

Gerador de Placa (Mercosul e antiga)

Sorteia placas nos dois padrões que hoje circulam juntos, em lotes de até 100. O validador diz se a sequência é Mercosul, antiga ou nenhuma das duas — a placa não tem dígito verificador, então a checagem é de formato.

As placas geradas aqui são fictícias. Elas seguem o formato Mercosul ou o antigo, mas a placa não tem dígito verificador e nenhuma combinação daqui corresponde a veículo emplacado. Use apenas em desenvolvimento, homologação e demonstração. Uso permitido e proibido.

Letras
1–3
Identificador
4–7

As placas geradas são combinações aleatórias e fictícias, destinadas exclusivamente a testes de software. Não correspondem a veículos emplacados.

Como a placa brasileira é montada

Sete caracteres, três letras na frente e nenhuma conta para conferir: a placa é o identificador veicular mais fácil de gerar e o mais ingrato de validar. Duas gerações de placa circulam ao mesmo tempo, e um cadastro que aceite apenas uma delas recusa boa parte da frota.

Os dois padrões em circulação

O padrão antigo tem três letras e quatro algarismos, exibido com hífen — ABC-1234 — e traz estampados o município e a UF de emplacamento. Desde 2018 as placas novas seguem o padrão Mercosul, ABC1D23, em que a quinta posição — o que antes era o segundo algarismo — passou a ser uma letra. A ordem fica letra, letra, letra, algarismo, letra, algarismo, algarismo.

O comprimento não mudou: continuam sendo sete caracteres, então colunas, máscaras e limites de formulário dimensionados para o modelo antigo seguem servindo. A conversão de uma placa antiga para a equivalente Mercosul mexe num único caractere — o algarismo da quinta posição vira letra por uma tabela fixa, de 0=A a 9=J — e a categoria do veículo não está codificada em lugar nenhum da sequência: no Mercosul ela aparece apenas na cor dos caracteres, sobre fundo branco. A tabela inteira, as seis categorias de cor e as situações em que a troca da placa é obrigatória estão no guia placa Mercosul e placa antiga. Esta página não converte placas: ela sorteia lotes nos dois padrões e diz a qual deles uma sequência pertence.

A placa não tem dígito verificador

Diferente do RENAVAM, do CPF e de outros documentos que fecham a conta com módulo 11, a placa não tem nenhum caractere de controle. Se a sequência digitada continua casando com um dos dois formatos, ela passa — inclusive quando um caractere foi trocado por engano.

Isso pesa em dois lugares. Em leitura por OCR, as confusões clássicas (O com 0, I com 1, B com 8, S com 5) produzem placas sintaticamente perfeitas e semanticamente erradas, sem nenhum alarme possível no lado do software. E em digitação manual, a única defesa real é cruzar a placa com outro identificador do veículo, como RENAVAM ou chassi. Por isso o validador desta página responde só três coisas: é formato Mercosul, é formato antigo, ou não é placa. Qualquer promessa além disso seria falsa.

Quando usar (e quando não)

Faz sentido gerar placas fictícias para popular cadastros de frota e de veículos, montar fixtures de estacionamento, pedágio, seguro e multas, exercitar a máscara e a expressão regular do campo, e checar se a rotina de importação trata os dois padrões. O gerador tem a opção Aleatório justamente para isso: um lote misto obriga o código a lidar com as duas formas na mesma carga, em vez de acertar só a que o desenvolvedor tinha em mente.

O que não fazer: tratar uma placa gerada aqui como referência a um veículo. Sem dígito verificador, todo o espaço de sete caracteres é formalmente válido, então uma combinação sorteada pode coincidir com uma placa realmente emplacada — ela não é um número “impossível”, apenas um número que não consultamos em lugar nenhum. Nada de usar essas placas em consulta de débitos, em base publicada junto a dados pessoais ou em qualquer fluxo que trate a sequência como identidade de veículo. E, mesmo com placas reais, evite usá-la como chave primária: a placa de um veículo pode mudar, o chassi não.

O que testar num campo de placa

O campo de placa é curto e parece trivial, e é justamente por isso que costuma sair errado: quase todo defeito aparece antes da validação, na hora de decidir o que conta como “a mesma placa”. A lista abaixo é o que vale exercitar com os lotes gerados aqui.

Aceitar os dois formatos, sem perder qual é qual

A primeira regra é óbvia e mesmo assim é a que mais quebra cadastro: o campo precisa aceitar ABC-1234 e ABC1D23. A tentação é resolver com uma expressão só, aceitando letra ou algarismo na quinta posição. Funciona para barrar lixo, mas apaga a única informação que separa os dois padrões — e você vai precisar dela para decidir se exibe o hífen, para relatórios de frota antiga e para saber se uma importação trouxe placas já migradas. Teste com os dois padrões separados e guarde o resultado, como faz o validador desta página, que devolve o selo Mercosul ou Antiga junto do veredito.

Vale também testar o campo com uma placa antiga sem hífen: ABC1234 é a mesma coisa que ABC-1234 e precisa ser aceita, porque é assim que a maior parte dos sistemas exporta. O hífen é apresentação, não dado.

Normalizar antes de validar

A normalização usada aqui descarta tudo que não é letra ou algarismo e sobe a caixa: abc-1234, ABC 1234 e abc1234 chegam ao teste como a mesma sequência de sete caracteres. Três decisões escondidas nesse passo merecem teste próprio. A primeira é quando normalizar: reescrever o valor a cada tecla atrapalha quem cola o texto ou apaga o meio da placa para corrigir, e o comum é normalizar ao sair do campo e antes de gravar, guardando a forma limpa e exibindo a formatada.

A segunda é o que fazer com espaços. Colar de planilha traz espaço nas pontas e, com frequência, um espaço rígido (U+00A0) que trim() não remove — descartar qualquer caractere não alfanumérico resolve os dois casos de uma vez. A terceira é o quanto de permissividade você quer: uma normalização que remove tudo aceita também A.B.C/1234 como placa válida. Para digitação manual isso é bom; para uma importação em lote, talvez você prefira rejeitar separadores estranhos e registrar a linha suspeita em vez de consertá-la em silêncio. Decida e escreva o teste que fixa a decisão.

Tamanho e tipo da coluna

Guardada normalizada, a placa ocupa exatamente sete caracteres nos dois padrões — char(7) serve e nunca vai precisar crescer por causa do Mercosul. Se optar por gravar a forma exibida, com hífen, reserve oito e lembre que a comparação entre as duas formas passa a exigir normalizar dos dois lados. O campo do formulário pode ter maxlength="8" para acomodar o hífen digitado, mas a validação roda sobre a sequência limpa, não sobre o que está na tela.

Normalize a caixa na escrita: em coluna com collation sensível a maiúsculas, abc1d23 e ABC1D23 viram duas linhas diferentes e a busca por uma não acha a outra. E, se criar índice único, faça-o valer apenas entre os veículos ativos: uma placa pode ser substituída e a sequência antiga reaparece no histórico do mesmo veículo — ou, anos depois, em outro.

O que o teste não pode afirmar

Como não há dígito verificador, não escreva caso esperando que uma placa trocada por engano seja recusada por cálculo: qualquer sequência com a forma certa passa. O que dá para testar é o contrário — que o sistema não finge uma certeza que não tem. Se o fluxo depende de a placa estar correta, a asserção útil é sobre a conferência contra RENAVAM ou chassi; sobre a placa isolada, a única afirmação honesta é que a forma bate.

Casos-limite para a suíte de testes

As entradas abaixo foram conferidas contra o validador desta página e cobrem os pontos em que um campo de placa costuma se comportar de forma diferente do que o teste ingênuo assume.

Entradas úteis num teste de formulário de placa
EntradaResultadoPor quê
ABC-1234Válida · antigaO hífen é descartado antes do teste.
abc1d23Válida · MercosulA caixa é normalizada para maiúscula.
ABC 1234Válida · antigaO espaço some e a saída volta formatada com hífen.
A.B.C/1234Válida · antigaA normalização remove qualquer separador, não só o hífen.
ABÇ1D23Erro de tamanhoO Ç é descartado e sobram 6 caracteres.
ABCD123Formato inválidoLetra na quarta posição, que é sempre algarismo.
ABC1D234Erro de tamanhoOito caracteres depois de normalizar.
ABC1O34Válida · MercosulO 0 lido como O vira outra placa, também válida.

Duas linhas merecem atenção. ABÇ1D23 falha por tamanho, não por formato: o cedilha é descartado na normalização e sobram seis caracteres, então a mensagem que chega ao usuário fala de comprimento quando o problema era outro. Vale decidir se a sua mensagem de erro deve distinguir os dois casos — e, se deve, o teste precisa comparar o texto do erro, não só o booleano.

A outra é ABC1O34. Uma placa antiga ABC-1034 lida por OCR com o zero virando a letra O produz uma placa Mercosul perfeitamente válida — de outro veículo. É o exemplo mais limpo de que aceitar não é reconhecer, e por isso todo teste de leitura automática deve incluir pelo menos um par assim, em que o erro não gera exceção nenhuma.

Um conjunto mínimo razoável tem, além dessas: campo vazio e campo só com separadores (ambos caem na regra de sete caracteres), uma placa de cada padrão para o caminho feliz, uma entrada com quebra de linha no meio de uma colagem múltipla, e o limite do lote — o gerador entrega no máximo 100 placas por vez, e um teste de importação que assuma esse teto vai falhar no primeiro arquivo maior que ele. Se o formulário aceita colar várias placas de uma vez, teste também a separação por vírgula, por ponto e vírgula e por linha — as três que o validador daqui aceita —, porque a origem costuma ser uma planilha e cada usuário exporta de um jeito.

Anatomia da placa

ABC1D23

Letras

1–3

Letras: três letras iniciais, iguais nos dois padrões.

Identificador

4–7

Identificador: no Mercosul, algarismo-letra-algarismo-algarismo; no antigo, quatro algarismos.

Regex

^[A-Z]{3}\d[A-Z]\d{2}$
^[A-Z]{3}\d{4}$

As duas expressões assumem a placa já normalizada: sem hífen, sem espaço e em caixa alta. Formas unificadas e as armadilhas mais comuns estão no guia de regex de documentos brasileiros.

Perguntas frequentes

Qual a diferença entre a placa Mercosul e a antiga?

A antiga segue o padrão ABC-1234, com três letras e quatro algarismos. A Mercosul é ABC1D23: a quinta posição, que antes era o segundo algarismo, passou a ser uma letra. As duas têm sete caracteres, o que evitou mudanças no tamanho dos campos dos sistemas.

Como uma placa antiga é convertida para o padrão Mercosul?

Converte-se o segundo algarismo — a quinta posição da placa — em letra pela tabela 0 igual a A, 1 igual a B, 2 igual a C, seguindo até 9 igual a J. As três letras iniciais e os demais algarismos não mudam. Assim, ABC-1234 corresponde a ABC1C34.

Preciso trocar a placa do meu carro?

Não por vontade própria. A substituição é obrigatória apenas em situações específicas, como transferência de propriedade, mudança de município ou estado, e quando a placa antiga é danificada ou roubada. Fora esses casos, o padrão antigo continua válido.

A placa tem dígito verificador?

Não. Nenhum dos dois padrões possui dígito de controle, então não existe como validar matematicamente uma placa. A ferramenta verifica apenas se a combinação de letras e números corresponde ao formato Mercosul ou ao antigo.

Placas de moto seguem o mesmo formato?

Sim quanto à combinação de caracteres: motocicletas usam o mesmo padrão ABC1D23. O que difere é o leiaute físico, disposto em duas linhas em vez de uma. Para efeito de validação em software, a regra é a mesma dos automóveis.