CBO
Códigos de ocupação da Classificação Brasileira de Ocupações (CBO 2002), na release vigente do MTE.
Validar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca12 casos falham
- Ruby, biblioteca12 casos falham
- Rust, biblioteca13 casos falham
- .NET, biblioteca12 casos falham
- Erlang, biblioteca
Verifica se um código CBO existe na tabela oficial de ocupações CBO 2002.
- Aceita os 6 dígitos, a máscara
NNNN-NNou um inteiro não negativo. Uma string com máscara pode ter qualquer sequência de separadores (espaço,.,-ou/) entre os grupos:2124--05é válido. Até a 2.4.0 a máscara tinha um único separador e2124--05era rejeitado. - Separadores só são aceitos na fronteira entre os grupos:
2124-0-5e21-2405são inválidos. Espaços nas pontas são ignorados. - Dígitos sem máscara (string ou número) são completados com zeros à esquerda até 6. Um valor com máscara é lido como está escrito.
- Qualquer outra string é rejeitada. A função não extrai os dígitos dela.
- Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro é inválido.
- A tabela segue a release vigente do MTE, os arquivos "Estrutura CBO (CSV)" de 10/07/2026, com 2.725 ocupações. A 2.4.0 usava o CSV mais antigo do gov.br, de 06/06/2025 (2.694 ocupações).
- Um código que o MTE retirou deixa de ser válido. 225142, 322105, 322115, 322120, 322125 e 782820 eram válidos na 2.4.0 e agora são inválidos. Alguns foram para códigos novos: Técnico em acupuntura agora é 322705.
- Entraram 37 ocupações, entre elas 782325 (Motorista de transporte por aplicativos), 142360 e 225157.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | boolean |
Valida um código CBO (Classificação Brasileira de Ocupações) contra a tabela oficial da CBO 2002.
- Aceita uma string com os 6 dígitos ou com a máscara
NNNN-NN, ou um número. - Uma string mascarada pode ter qualquer sequência de separadores (espaço,
.,-ou/) entre os grupos. Qualquer outra string é rejeitada, em vez de ter seus dígitos extraídos. - Dígitos sem máscara são completados com zeros à esquerda até 6, como string ou como número. Um valor mascarado é lido como foi escrito.
import { isValidCbo } from '@brazilian-utils/brazilian-utils';
isValidCbo('2124-05'); // true
isValidCbo('212405'); // true
isValidCbo(212405); // true
isValidCbo(10205); // true (completado para 6 dígitos, ou seja, '010205')
isValidCbo('10205'); // true (completado do mesmo jeito que um número)
isValidCbo('000000'); // false
isValidCbo('2124abc05'); // false (não é uma forma documentada)
isValidCbo(-212405); // false (não é um inteiro seguro não negativo)Teste com JavaScript isValidCbo
Casos de teste compartilhados (38) e o resultado em cada biblioteca cbo.isValid
Formatar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Formata um código CBO com a máscara NNNN-NN. Só a estrutura muda (use cbo.isValid para verificar o código na tabela).
- A máscara é aplicada até onde os dígitos vão, o que serve a um campo em digitação.
options.pad(padrãofalse) primeiro completa o valor com zeros à esquerda até 6 dígitos. Um número é tratado como a string dos seus dígitos, então só é completado compad.- Uma string é lida pelos seus dígitos: os outros caracteres são descartados e dígitos depois do último da máscara são ignorados.
- Retorna uma string vazia quando não há nenhum dígito, também com
pad.nulleundefinedtambém retornam uma string vazia. - Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro retorna uma string vazia.
- Nova na 2.5.0 (#615), para que todo código com máscara tenha o seu formatador.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
options | FormatCboOptions | não |
options.pad | boolean | não |
| retorna | string |
Formata um código CBO (Classificação Brasileira de Ocupações) na máscara NNNN-NN. Só a estrutura muda; use isValidCbo para conferir um código com a tabela.
- Opções (
FormatCboOptions):pad(padrãofalse) completa antes o valor com zeros à esquerda até os 6 dígitos de um código completo. Sem ele a máscara é aplicada até onde o valor vai. Um valor vazio, ou sem dígitos, devolve''mesmo compad. - Caracteres fora da máscara são descartados, e um número só é lido como a string dos seus dígitos quando é um inteiro seguro não negativo: um número negativo, fracionário ou inseguro retorna
''. Retorna''quando não há dígito algum.
import { formatCbo } from '@brazilian-utils/brazilian-utils';
formatCbo('212405'); // 2124-05
formatCbo('21240'); // 2124-0 (máscara aplicada até onde o valor vai)
formatCbo('10205', { pad: true }); // 0102-05 (completado até 6 dígitos antes)
formatCbo('abc212405'); // 2124-05 (só os dígitos são lidos)
formatCbo(-212405); // '' (não é um inteiro seguro não negativo)Fonte: tabelas da CBO 2002 publicadas pelo MTE, que imprimem os códigos como NNNN-NN.
Teste com JavaScript formatCbo
Casos de teste compartilhados (26) e o resultado em cada biblioteca cbo.format
Interpretar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca2 casos falham
- Ruby, biblioteca2 casos falham
- Rust, biblioteca
- .NET, biblioteca1 caso falha
- Erlang, biblioteca
Remove a formatação do CBO e mantém somente os dígitos, limitados a 6 dígitos.
- Não completa nada com zeros à esquerda. Um zero à esquerda precisa estar escrito.
- Retorna uma string vazia quando não há nenhum dígito (
nulleundefinedincluídos). - Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro retorna uma string vazia (a 2.4.0 lia os dígitos de qualquer número, descartando sinal e ponto decimal).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | string |
Remove a formatação do CBO (Classificação Brasileira de Ocupações), mantém apenas os dígitos e limita o resultado a 6 dígitos.
- Nada é completado com zeros à esquerda: o zero inicial de um código como
010205precisa ser escrito. UsegetCboouisValidCbopara consultar uma ocupação.
import { parseCbo } from '@brazilian-utils/brazilian-utils';
parseCbo('2124-05'); // '212405'Teste com JavaScript parseCbo
Casos de teste compartilhados (10) e o resultado em cada biblioteca cbo.parse
Consultar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca14 casos falham
- Ruby, biblioteca14 casos falham
- Rust, biblioteca
- .NET, biblioteca14 casos falham
- Erlang, biblioteca
Consulta um código CBO na tabela de ocupações CBO 2002 e retorna o code e o título oficial (description).
- Mesmas regras de entrada de
cbo.isValid. O código retornado tem os 6 dígitos sem máscara. - Retorna
nullpara um código desconhecido ou para um valor que não está escrito em uma das formas aceitas. Uma sequência de separadores entre os grupos é aceita, como emcbo.isValid(2124--05retorna o registro; até a 2.4.0 retornavanull). - Retorna
nullexatamente quandocbo.isValidretornafalse. A tabela e os títulos seguem a release vigente do MTE (10/07/2026). 106 títulos mudaram em relação à 2.4.0, e códigos que o MTE retirou retornamnull.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | Cbo | null |
Consulta um código CBO (Classificação Brasileira de Ocupações) e retorna o título oficial da ocupação. O resultado é um registro Cbo: { code, description }.
- Mesmas regras de
isValidCbo. Retornanullquando o código é desconhecido ou o valor não está em uma forma documentada.
import { getCbo } from '@brazilian-utils/brazilian-utils';
getCbo('2124-05'); // { code: '212405', description: 'Analista de desenvolvimento de sistemas' }
getCbo(10205); // { code: '010205', description: 'Oficial da aeronáutica' } (completado para 6 dígitos)
getCbo('10205'); // { code: '010205', description: 'Oficial da aeronáutica' } (completado do mesmo jeito)
getCbo('000000'); // null
getCbo('2124abc05'); // null (não é uma forma documentada)Teste com JavaScript getCbo
Casos de teste compartilhados (30) e o resultado em cada biblioteca cbo.get
Fontes oficiais
Atualizado em
