# CNPJ Alfanumérico

A partir de julho de 2026 a Receita Federal poderá emitir novas inscrições no CNPJ no formato alfanumérico (com letras e números), os cadastros existentes não serão alterados.

A API do CNPJ.ws já está preparada para esse novo formato e aceita consultas usando CNPJ alfanumérico.

### Cálculo dos dígitos verificadores

O novo CNPJ alfanumérico é composto por 14 dígitos, como o atual, sendo os doze primeiros alfanuméricos e os dois restante, os dígitos verificadores, numéricos.

Os dígitos verificadores são calculados a partir dos doze primeiros dígitos em duas etapas, utilizando o módulo de divisão 11 e pesos distribuídos de 2 a 9.

#### Cálculo do primeiro dígito &#x20;

Para cada um dos caracteres do CNPJ, você deve atribuir o valor da coluna "Valor para cálculo do DV", conforme a tabela abaixo, ou subtrair 48 do "Valor ASCII":

| CNPJ Alfanumérico | Valor ASCII | Valor para cálculo do DV |
| ----------------- | ----------- | ------------------------ |
| 0                 | 48          | 0                        |
| 1                 | 49          | 1                        |
| 2                 | 50          | 2                        |
| 3                 | 51          | 3                        |
| 4                 | 52          | 4                        |
| 5                 | 53          | 5                        |
| 6                 | 54          | 6                        |
| 7                 | 55          | 7                        |
| 8                 | 56          | 8                        |
| 9                 | 57          | 9                        |
| A                 | 65          | 17                       |
| B                 | 66          | 18                       |
| C                 | 67          | 19                       |
| D                 | 68          | 20                       |
| E                 | 69          | 21                       |
| F                 | 70          | 22                       |
| G                 | 71          | 23                       |
| H                 | 72          | 24                       |
| I                 | 73          | 25                       |
| J                 | 74          | 26                       |
| K                 | 75          | 27                       |
| L                 | 76          | 28                       |
| M                 | 77          | 29                       |
| N                 | 78          | 30                       |
| O                 | 79          | 31                       |
| P                 | 80          | 32                       |
| Q                 | 81          | 33                       |
| R                 | 82          | 34                       |
| S                 | 83          | 35                       |
| T                 | 84          | 36                       |
| U                 | 85          | 37                       |
| V                 | 86          | 38                       |
| W                 | 87          | 39                       |
| X                 | 88          | 40                       |
| Y                 | 89          | 41                       |
| Z                 | 90          | 42                       |

Exemplo:

<table data-full-width="false"><thead><tr><th width="84">CNPJ</th><th width="55">1</th><th width="55">2</th><th width="57">A</th><th width="56">B</th><th width="56">C</th><th width="55">3</th><th width="56">4</th><th width="55">5</th><th width="56">0</th><th width="55">1</th><th width="56">D</th><th width="56">E</th></tr></thead><tbody><tr><td>Valor</td><td>1</td><td>2</td><td>17</td><td>18</td><td>19</td><td>3</td><td>4</td><td>5</td><td>0</td><td>1</td><td>20</td><td>21</td></tr></tbody></table>

Distribuir os pesos de 2 a 9 da direita para a esquerda (recomeçando depois do oitavo caractere), conforme o exemplo:

<table data-full-width="false"><thead><tr><th width="84">CNPJ</th><th width="55">1</th><th width="55">2</th><th width="57">A</th><th width="56">B</th><th width="56">C</th><th width="55">3</th><th width="56">4</th><th width="55">5</th><th width="56">0</th><th width="55">1</th><th width="56">D</th><th width="56">E</th></tr></thead><tbody><tr><td>Valor</td><td>1</td><td>2</td><td>17</td><td>18</td><td>19</td><td>3</td><td>4</td><td>5</td><td>0</td><td>1</td><td>20</td><td>21</td></tr><tr><td>Peso</td><td>5</td><td>4</td><td>3</td><td>2</td><td>9</td><td>8</td><td>7</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td></tr></tbody></table>

Multiplicar valor e peso de cada coluna e somar todos os resultados:

<table data-full-width="false"><thead><tr><th width="84">CNPJ</th><th width="55">1</th><th width="55">2</th><th width="57">A</th><th width="56">B</th><th width="56">C</th><th width="55">3</th><th width="56">4</th><th width="55">5</th><th width="56">0</th><th width="55">1</th><th width="56">D</th><th width="56">E</th></tr></thead><tbody><tr><td>Valor</td><td>1</td><td>2</td><td>17</td><td>18</td><td>19</td><td>3</td><td>4</td><td>5</td><td>0</td><td>1</td><td>20</td><td>21</td></tr><tr><td>Peso</td><td>5</td><td>4</td><td>3</td><td>2</td><td>9</td><td>8</td><td>7</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td></tr><tr><td>Multi</td><td>5</td><td>8</td><td>51</td><td>36</td><td>171</td><td>24</td><td>28</td><td>30</td><td>0</td><td>4</td><td>60</td><td>42</td></tr></tbody></table>

`5 + 8 + 51 + 36 + 171 + 24 +28 + 30 + 0 + 4 + 60 + 42 = 459`

Obter o resto da divisão do somatório por 11.\
Se o resto da divisão for igual a 1 ou 0, o primeiro dígito será igual a 0 (zero).\
Senão, o primeiro dígito será igual ao resultado de 11 – resto.

No exemplo:\
Resto da divisão `459/11 = 8` então o primeiro dígito verificador é o `3` (resultado de `11-8`)

#### Cálculo do segundo dígito verificador

Para o cálculo do segundo dígito é necessário acrescentar o primeiro DV ao final do CNPJ,\
formando assim treze caracteres, e repetir os passos realizados para o primeiro dígito.

<table data-full-width="false"><thead><tr><th width="84">CNPJ</th><th width="55">1</th><th width="55">2</th><th width="57">A</th><th width="56">B</th><th width="56">C</th><th width="55">3</th><th width="56">4</th><th width="55">5</th><th width="56">0</th><th width="55">1</th><th width="56">D</th><th width="56">E</th><th width="56">3</th></tr></thead><tbody><tr><td>Valor</td><td>1</td><td>2</td><td>17</td><td>18</td><td>19</td><td>3</td><td>4</td><td>5</td><td>0</td><td>1</td><td>20</td><td>21</td><td>3</td></tr><tr><td>Peso</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td><td>9</td><td>8</td><td>7</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td></tr><tr><td>Multi</td><td>6</td><td>10</td><td>68</td><td>54</td><td>38</td><td>27</td><td>32</td><td>35</td><td>0</td><td>5</td><td>80</td><td>63</td><td>6</td></tr></tbody></table>

`6 + 10 + 68 + 54 + 38 + 27 + 32 + 35 + 0 + 5 + 80 + 63 + 6 = 424`

Resto da divisão `424/11 = 6` então o segundo dígito verificador é o `5` (resultado de 11-6)

Resultado final: `12.ABC.345/01DE-`<mark style="color:red;">`35`</mark>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cnpj.ws/blog/cnpj-alfanumerico.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
