Gerador de placa de veículo
Gere placas fictícias no padrão Mercosul ou no antigo e converta uma placa de um padrão para o outro.
Número gerado
LIR6D26
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.
Conferir o formato e converter a placa
Confere no seu navegador. Nada do que você digita ou cola é enviado.
Conferir 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 placa Mercosul tem 7 caracteres no formato ABC1D23: três letras, um número, uma letra e dois números. A placa antiga tem três letras e quatro números, como ABC-1234. Aqui você gera de 1 a 10.000 placas fictícias em qualquer um dos dois padrões, confere o formato e converte. Placa não tem dígito verificador, então a conferência é só de formato.
Como usar
- Escolha o padrão: Mercosul, antigo ou os dois misturados.
- Informe a quantidade, de 1 a 10.000, e uma semente, se quiser repetir a lista.
- No padrão antigo, escolha se a placa sai com hífen (
ABC-1234) ou sem (ABC1234). - Clique em Gerar e copie ou baixe em lista, CSV, CSV (Excel), JSON ou SQL.
- Para converter ou conferir uma placa, abra a aba "Conferir e converter" e cole a placa.
Os dois padrões de placa
Os dois padrões têm 7 caracteres. O que muda é a 5ª posição, que era número e virou letra.
| Padrão | 1ª a 3ª | 4ª | 5ª | 6ª e 7ª | Exemplo |
|---|---|---|---|---|---|
| Antigo | Letras | Número | Número | Números | BRA-2419 |
| Mercosul | Letras | Número | Letra | Números | BRA2E19 |
A placa Mercosul é escrita sem hífen. Na antiga, o hífen entre as letras e os números é só apresentação: grave sempre os 7 caracteres, em maiúsculas.
As regras da placa atual estão na Resolução Contran 969/2022, que trata do sistema de Placas de Identificação de Veículos. Pela resolução, quem tem a placa antiga não é obrigado a trocar, salvo nas situações que ela lista. Por isso os dois padrões vão conviver no seu banco por muito tempo.
Como converter a placa antiga para Mercosul
Quando um veículo com placa antiga passa para o padrão novo, a combinação não é sorteada de novo. A resolução manda trocar o segundo número da placa por uma letra, e o resto fica igual. O segundo número é o 5º caractere.
| Número | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| Letra | A | B | C | D | E | F | G | H | I | J |
Exemplo: em BRA-2419, o segundo número é 4. O 4 vira E, e a placa passa a ser BRA2E19.
A volta só funciona quando a letra da 5ª posição vai de A a J: BRA2E19 vira BRA-2419. Uma placa Mercosul com outra letra nessa posição, como BRA2K19, não tem equivalente antigo. O conversor avisa quando é esse o caso.
Gere ou confira uma placa acima e o quadro muda junto.
BRA-2419 no padrão Mercosul é BRA2E19: na 5ª posição, o número 4 vira a letra E. As outras posições não mudam.
| Posição | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| Antiga | B | R | A | 2 | 4 | 1 | 9 |
| Formato | L | L | L | N | N | N | N |
| Mercosul | B | R | A | 2 | E | 1 | 9 |
| Formato | L | L | L | N | L | N | N |
L = letra, N = número. A placa não tem dígito verificador: a conferência é só de formato.
O que a conferência verifica
A placa não tem dígito verificador. Não existe conta que diga se uma placa está "certa". A conferência desta página olha só o formato:
- se há 7 caracteres, sem contar o hífen;
- se as posições de letra têm letra e as de número têm número;
- qual é o padrão (antigo ou Mercosul) e qual é a placa equivalente no outro, quando existe.
A página não consulta veículo, proprietário, multa ou restrição. Essa consulta é feita no Detran do estado.
O que testar no seu sistema
A convivência dos dois padrões costuma quebrar em pontos previsíveis. Uma massa com placas misturadas ajuda a achar cada um:
- Máscara de campo que só aceita número nas quatro últimas posições e recusa
BRA2E19. - Regex antiga,
[A-Z]{3}-?[0-9]{4}, ainda em uso na validação do servidor. - Busca que não encontra o veículo porque o cadastro guarda
BRA-2419e a pessoa digitaBRA2E19. Para o usuário, as duas são a mesma placa. Decida se o sistema guarda as duas ou converte antes de buscar. - Entrada em minúsculas ou com espaço, como
bra 2e19. - Leitura automática de placa (OCR) que confunde a letra I com o número 1 e a letra O com o número 0. A posição diz se o caractere deve ser letra ou número, e isso permite corrigir.
Placas inválidas para teste negativo
O gerador cria placas com formato errado de propósito:
- Tamanho errado: 6 ou 8 caracteres.
- Letra em posição de número:
BRAA419. - Número em posição de letra:
1RA2E19. - Caractere que placa não tem:
BRÃ2E19,BRA2E1#.
Cuidados legais
As placas são sorteadas no seu navegador e não vêm do cadastro de veículos. Como só existem combinações de letras e números, uma placa sorteada pode ser a de um veículo real. Não use o resultado para identificar veículo nem dono.
O site gera só a combinação de caracteres, em texto. Não gera imagem de placa. Usar placa que não é a do veículo é infração e pode ser crime, como a adulteração de sinal identificador de veículo (art. 311 do Código Penal).
Código pronto para o seu projeto
const ANTIGA = /^[A-Z]{3}[0-9]{4}$/;
const MERCOSUL = /^[A-Z]{3}[0-9][A-Z][0-9]{2}$/;
const LETRAS = 'ABCDEFGHIJ'; // 0 = A ... 9 = J
// Tira hífen e espaço e passa para maiúsculas.
const limparPlaca = (entrada) => String(entrada).replace(/[\s-]/g, '').toUpperCase();
function padraoDaPlaca(entrada) {
const p = limparPlaca(entrada);
if (ANTIGA.test(p)) return 'antiga';
if (MERCOSUL.test(p)) return 'mercosul';
return null;
}
// ABC1234 -> ABC1C34
function paraMercosul(entrada) {
const p = limparPlaca(entrada);
if (!ANTIGA.test(p)) return null;
return p.slice(0, 4) + LETRAS[Number(p[4])] + p.slice(5);
}
// ABC1C34 -> ABC1234 (só quando a 5ª posição vai de A a J)
function paraAntiga(entrada) {
const p = limparPlaca(entrada);
const numero = LETRAS.indexOf(p[4]);
if (!MERCOSUL.test(p) || numero < 0) return null;
return p.slice(0, 4) + numero + p.slice(5);
}
paraMercosul('BRA-2419'); // 'BRA2E19'
paraAntiga('bra2e19'); // 'BRA2419'
paraAntiga('BRA2K19'); // null import random
import string
LETRAS = string.ascii_uppercase
def gerar_placa(rng: random.Random, padrao: str = "mercosul") -> str:
letras = "".join(rng.choice(LETRAS) for _ in range(3))
n = [str(rng.randrange(10)) for _ in range(4)]
if padrao == "antiga":
return letras + "".join(n)
return letras + n[0] + rng.choice(LETRAS) + n[2] + n[3]
def para_mercosul(placa: str) -> str:
p = placa.replace("-", "").upper()
return p[:4] + "ABCDEFGHIJ"[int(p[4])] + p[5:]
rng = random.Random(2026) # mesma semente, mesma lista
massa = [gerar_placa(rng) for _ in range(100)]
assert para_mercosul("BRA-2419") == "BRA2E19" -- A coluna guarda 7 caracteres, sem hífen, e aceita os dois padrões.
CREATE TABLE veiculos_teste (
placa CHAR(7) NOT NULL CHECK (placa ~ '^[A-Z]{3}[0-9][A-Z0-9][0-9]{2}$')
);
-- Converte as placas antigas para o padrão Mercosul.
SELECT placa,
substr(placa, 1, 4)
|| substr('ABCDEFGHIJ', substr(placa, 5, 1)::int + 1, 1)
|| substr(placa, 6, 2) AS placa_mercosul
FROM veiculos_teste
WHERE placa ~ '^[A-Z]{3}[0-9]{4}$'; Fontes
Perguntas frequentes
Qual é o formato da placa Mercosul?
São 7 caracteres: três letras, um número, uma letra e dois números, sem hífen. Exemplo: BRA2E19.
Como converter a placa antiga para o padrão Mercosul?
Troque o segundo número da placa por uma letra: 0 vira A, 1 vira B, 2 vira C, e assim até 9, que vira J. O resto não muda. BRA-2419 vira BRA2E19.
A placa gerada existe de verdade?
Pode existir, por coincidência. As placas são sorteadas e a página não consulta nenhum cadastro, então não há como saber. Use só como dado de teste de software.
Placa tem dígito verificador?
Não. Diferente do CPF e do RENAVAM, a placa não tem dígito de conferência. Só dá para verificar o formato.
Qual regex aceita a placa antiga e a Mercosul?
Sem hífen e em maiúsculas, ^[A-Z]{3}[0-9][A-Z0-9][0-9]{2}$ aceita as duas. A 5ª posição é número na placa antiga e letra na Mercosul.
Dá para ver o dono ou as multas de um veículo pela placa?
Só no Detran do estado. Aqui você gera placas fictícias, confere o formato e converte entre os padrões; a página não busca veículo em nenhum cadastro.
Veja também
Gerador de RENAVAM
RENAVAM fictício de 11 dígitos, com os zeros à esquerda e o dígito certo.
13712274717Número de CNH
Números de registro fictícios e a conferência dos dois dígitos verificadores.
10004586749Massa de teste
Vários tipos de número num arquivo só, uma coluna por tipo, até 10.000 linhas.
cnpj,cpf,pisGerador de CNPJ
Numérico ou alfanumérico, de 1 a 10.000, em CSV, JSON ou SQL.
13.712.274/0001-55Atualizado em 14/11/2026.