> For the complete documentation index, see [llms.txt](https://docs.cnpj.ws/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cnpj.ws/blog/cnpj-alfanumerico.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
