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
Separe múltiplos números por linha, vírgula ou ponto e vírgula. Ctrl+Enter valida.
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.
| Entrada | Resultado | Por quê |
|---|---|---|
| ABC-1234 | Válida · antiga | O hífen é descartado antes do teste. |
| abc1d23 | Válida · Mercosul | A caixa é normalizada para maiúscula. |
| ABC 1234 | Válida · antiga | O espaço some e a saída volta formatada com hífen. |
| A.B.C/1234 | Válida · antiga | A normalização remove qualquer separador, não só o hífen. |
| ABÇ1D23 | Erro de tamanho | O Ç é descartado e sobram 6 caracteres. |
| ABCD123 | Formato inválido | Letra na quarta posição, que é sempre algarismo. |
| ABC1D234 | Erro de tamanho | Oito caracteres depois de normalizar. |
| ABC1O34 | Válida · Mercosul | O 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–3Letras: três letras iniciais, iguais nos dois padrões.
Identificador
4–7Identificador: 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.