Dígito verificador ISMN
Os 12 dígitos 979023067118 recebem o dígito verificador 7, e o número musical completo fica 9790230671187. Complete o ISMN de uma partitura, de um conjunto de partes ou de uma edição digital, ou confira um vindo de um pedido antes que entre no seu catálogo. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Número
- 979023067118
- Modo de cálculo
- Compute
- Entrada
- 979023067118
- Dígito verificador
- 7
- Com dígito verificador
- 9790230671187
A música impressa usa o International Standard Music Number (ISMN) para que partituras, partes e produtos digitais de partitura sejam pedidos e catalogados sem confusão. Os valores modernos de ISMN são códigos de treze dígitos que começam com o prefixo musical 979-0 e terminam com um único dígito verificador módulo 10, escolhido para que um segmento de editora ou de título digitado errado falhe em uma soma ponderada simples. Esta capacidade calcula esse dígito a partir de qualquer corpo de doze dígitos puros, ou valida um ISMN completo de treze dígitos que você já tenha — inclusive formas hifenizadas de editora após a remoção dos separadores.
O que é o dígito verificador ISMN e como se relaciona com o EAN-13
Um ISMN identifica uma publicação de música impressa ou notada segundo a ISO 10957. Depois que o setor passou de códigos de dez caracteres que começavam com a letra M para números de treze dígitos, cada ISMN ocupa o mesmo espaço de dígitos dos códigos de barras varejistas EAN-13, com o prefixo musical fixo 9790, segmentos de editora e item e um dígito verificador final.
Esse dígito não é decorativo: é calculado para que a cadeia completa de treze dígitos satisfaça uma condição modular e para que erros de um único dígito e muitas transposições adjacentes tendam a quebrar a soma. O algoritmo é a regra padrão EAN-13: multiplique os dígitos nas posições ímpares (contando da esquerda, a partir de um) por um e os das posições pares por três, some os produtos e escolha um valor de verificação de zero a nove que torne o total divisível por dez.
Quando você tem apenas os primeiros doze dígitos — o corpo após a atribuição de prefixo, editora e item — calcula o décimo terceiro caractere que falta. Quando um parceiro, um scanner ou um formulário fornece todos os treze dígitos, você recalcula o dígito verificador esperado a partir dos primeiros doze e informa se o código fornecido é congruente com zero módulo dez. Esta ferramenta implementa essa regra exata.
Não converte sozinha ISMNs legados de dez caracteres com prefixo M (substitua M por 9790 primeiro se ainda tiver listas antigas), não consulta títulos em uma base de repertório e não trata códigos ISBN-13 de livros como intercambiáveis, embora a família aritmética seja compartilhada.
Saber que o ISMN é um identificador musical de comprimento fixo com intenção de busca distinta dos validadores genéricos de código de barras ajuda a escolher a página certa: use esta quando a cadeia que importa for um número de música impressa, não um GTIN de varejo nem um ISBN-10 de dez caracteres.
Como calcular um dígito verificador ou validar um ISMN completo de treze dígitos
Envie um campo number contendo os dígitos. Espaços no início e no fim são removidos; hífens e espaços internos são eliminados para que formas comuns de editora como 979-0-2306-7118-7 possam ser validadas sem um limpador separado. O modo compute é o padrão: forneça exatamente doze dígitos após a limpeza.
O modo validate espera um ISMN completo de treze dígitos após a limpeza. Essa forma permite mensagens do tipo «você digitou 4, esperava-se 7» em formulários sem uma segunda chamada. Strings vazias, comprimentos errados, entrada não numérica após remoção de separadores e valores de mode inválidos falham antes de qualquer soma.
Prefira compute quando criar ou completar números parciais após atribuir segmentos de editora e item; prefira validate quando um usuário, arquivo de parceiro ou scanner fornecer um ISMN completo e você precisar de um filtro booleano antes da busca no repertório.
Onde os dígitos verificadores ISMN se encaixam em sistemas reais de edição musical
Editoras de música e casas de impressão sob demanda atribuem faixas de ISMN ao se registrarem na agência nacional; depois que o corpo de doze dígitos está fixo, o modo compute completa o dígito verificador para que cada partitura, conjunto de partes e download digital carregue um código bem formado de treze dígitos. Distribuidores e varejistas de partituras recebem pedidos digitados a partir de capas empoeiradas e PDFs; um único dígito trocado deve falhar na validação antes de uma busca de estoque malsucedida.
Fluxos de bibliotecas e conservatórios ainda importam listas de doadores e empréstimos interbibliotecários que misturam formas hifenizadas e compactas — remover separadores e depois validar mantém ambas honestas. Vendedores de marketplaces colam colunas mistas de ISMN e ISBN em ferramentas de inventário; direcionar linhas de treze dígitos 9790 por este verificador e ISBNs de livros por um caminho específico evita falsos positivos.
Uma verificação aprovada não prova que a partitura existe, está à venda ou corresponde a um título — só prova que a cadeia está bem formada sob o algoritmo de dígito verificador ISMN, o mesmo critério de honestidade que se aplica a qualquer checksum.
Casos de uso
Auditar colunas de catálogo de partituras
Valide em lote cada campo ISMN de uma exportação de editora, distribuidor ou biblioteca e coloque em quarentena as linhas cujo dígito verificador não coincida mais com o valor esperado recalculado.
Perguntas frequentes
O que é um dígito verificador ISMN?
É o décimo terceiro dígito de um ISMN moderno, calculado com pesos alternados 1 e 3 sobre os primeiros doze dígitos de modo que o código completo de treze dígitos seja divisível por dez (a mesma família modular do EAN-13).
O que acontece com entrada não numérica?
Comprimentos errados e strings vazias também falham antes de calcular o dígito verificador.
A ferramenta de dígito verificador ISMN é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
O que faço com um ISMN antigo que começa com M?
Troque primeiro a letra M por 9790, porque a ferramenta não converte sozinha os antigos códigos de dez caracteres. Depois você pode conferir ou completar o número de 13 dígitos normalmente.
Posso colar um ISMN com hífens?
Sim. Hífens e espaços são removidos antes, então uma forma de editora como 979-0-2306-7118-7 pode ser conferida diretamente. Letras e outros símbolos continuam sendo recusados.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/ismn \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"979023067118"}'const res = await fetch("https://api.kit.forhosting.com/enc/ismn", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "979023067118"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/ismn",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "979023067118"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/ismn", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"979023067118"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"979023067118"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/ismn", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"number": "979023067118"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.ismn",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Rejeita letras, comprimentos incorretos e entrada vazia com um erro invalid_input claro, sem adivinhar. Use grátis no navegador ou chame a API do KIT pelo preço publicado; ambos os caminhos executam a mesma aritmética determinística no estilo EAN, sem consulta em rede e sem catálogo armazenado.
Como calcular um dígito verificador ou validar um ISMN completo de treze dígitos
Qualquer caractere não numérico restante — letras, pontuação ou símbolos — falha com invalid_input antes de qualquer soma e não é cobrado. A resposta inclui check_digit como string de um caractere de 0 a 9, with_check como os doze dígitos mais esse caractere, a entrada normalizada de doze dígitos, length treze e algorithm ismn13. A resposta informa valid true quando a soma ponderada é divisível por dez, e sempre inclui o check_digit fornecido, expected_check_digit recalculado só com os primeiros doze dígitos, o payload de doze dígitos e length treze. Como o caminho é parse puro, sem relógio, aleatoriedade ou rede, a mesma entrada sempre produz o mesmo JSON na ferramenta gratuita do navegador e na API. A US$ 0,002 por solicitação bem-sucedida você pode proteger importações em massa de catálogo, formulários de cadastro e impressoras de etiquetas sem negociar um nível personalizado.
Onde os dígitos verificadores ISMN se encaixam em sistemas reais de edição musical
Oficinas de gravação e impressão de códigos de barras podem chamar o modo compute após o corpo ser atribuído e imprimir with_check sem calcular a soma ponderada à mão.
Casos de integração
Completar um número musical de doze dígitos
Após atribuir o prefixo 9790, a editora e o corpo do item, chame o modo compute e armazene ou imprima with_check para que cada ISMN carregue o dígito final correto.
Validar códigos ISMN digitados ou colados
Quando um formulário ou CSV fornecer um código completo de treze dígitos (hífens permitidos), chame o modo validate e bloqueie a busca quando valid for false, mostrando expected_check_digit para ajudar a corrigir um erro de digitação.
Perguntas técnicas
Como calcular um dígito verificador ISMN com esta API?
Faça POST com number de doze dígitos e mode compute (ou omita mode). A resposta inclui check_digit (0-9) e with_check (o ISMN completo de treze dígitos).
Como validar um ISMN completo de treze dígitos?
Faça POST com o código completo de treze dígitos (hífens opcionais) e mode validate. A resposta inclui valid, check_digit, expected_check_digit e payload (os primeiros doze dígitos).