# CNPJ Alfanumérico

A partir de **julio de 2026**, la Receita Federal de Brasil podrá emitir nuevas inscripciones de CNPJ en un **formato alfanumérico** (letras y números). Las inscripciones existentes **no serán modificadas**.

La **API de CNPJ.ws** ya está preparada para este nuevo formato y acepta consultas utilizando **CNPJ alfanumérico**.

### Cálculo de los dígitos verificadores

El nuevo CNPJ alfanumérico está compuesto por **14 caracteres**, al igual que el actual:

* Los **primeros 12 caracteres** son alfanuméricos
* Los **últimos 2 caracteres** son **dígitos verificadores** numéricos

Los dígitos verificadores se calculan a partir de los primeros doce caracteres en **dos etapas**, utilizando el **módulo 11** y pesos distribuidos de **2 a 9**.

#### Cálculo del primer dígito verificador

Para cada carácter del CNPJ, se debe asignar el valor de la columna **“Valor para el cálculo del dígito verificador”** según la tabla siguiente, o restar **48 al valor ASCII**:

| CNPJ Alfanumérico | Valor ASCII | Valor para el cálculo del 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                           |

Ejemplo:

<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>

Distribuya los pesos de **2 a 9**, de **derecha a izquierda** (reiniciando después del octavo carácter), como se muestra a continuación:

<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>

Multiplique el valor por el peso de cada columna y sume todos los resultados:

<table data-full-width="false"><thead><tr><th width="94">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>Producto</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`

Obtenga el resto de la división de la suma entre **11**.\
Si el resto es **0 o 1**, el primer dígito verificador será **0**.\
De lo contrario, el primer dígito verificador será **11 − resto**.

En este ejemplo:\
Resto de `459 / 11 = 8`, por lo tanto el primer dígito verificador es **3** (resultado de `11−8`) .

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

Para calcular el segundo dígito verificador, agregue el **primer dígito verificador** al final del CNPJ, formando **13 caracteres**, y repita los mismos pasos utilizados para el primer dígito.

<table data-full-width="false"><thead><tr><th width="95">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>Producto</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 de `424 / 11 = 6`, por lo tanto el segundo dígito verificador es **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/es/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.
