Fonética de Colonia
Müller, Mueller y Muller obtienen el mismo código, 657, y Schmidt y Schmied comparten el 862, así que las variantes de un apellido alemán quedan juntas. Sirve para detectar posibles duplicados en registros, listas de clientes y árboles genealógicos. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Müller
- Código
- 657
- Longitud
- 3
- Normalizado
- MULLER
- Número de letras
- 6
La fonética de Colonia, conocida en alemán como Kölner Phonetik, transforma apellidos y nombres de pila en una cadena corta de dígitos para que las variantes que suenan igual compartan una misma clave. Los registros civiles, los trabajos de deduplicación en CRM y las herramientas de genealogía la emplean cuando Müller debe coincidir con Mueller, o Schneider agruparse con Schnyder, sin un modelo fonético completo. Usted obtiene un campo code estable y la secuencia de letras normalizada para auditar por qué dos registros colisionaron.
Qué codifica la fonética de Colonia y por qué colisionan los nombres
La fonética de Colonia se diseñó para listados civiles en lengua alemana, donde es habitual la deriva ortográfica: diéresis escritas como dígrafos, H muda, C suave frente a C dura, y X con dos códigos. El algoritmo no pretende exactitud IPA; busca una clave compacta y determinista que agrupe nombres que las personas pronuncian de forma similar. Las letras A, E, I, J, O, U e Y se mapean a cero y luego desaparecen salvo que abran el código.
La H se ignora por completo. Las consonantes se mapean del uno al ocho con reglas de contexto: por ejemplo, P ante H se convierte en tres como F; D o T ante C, S o Z se convierten en ocho como S; y X se convierte en cuarenta y ocho salvo que siga a C, K o Q.
Tras el paso por letras, los dígitos idénticos consecutivos se colapsan, de modo que Schmidt y Schmied se reducen ambos a ocho-seis-dos, y se eliminan los ceros restantes excepto un cero inicial. Por eso Müller, Mueller y Muller dan todos seis-cinco-siete, y Mayer, Meier, Maier y Mayr comparten seis-siete. Los equipos de genealogía y datos maestros tratan códigos iguales como coincidencia candidata, no como prueba de identidad: segundos nombres, apellidos de matrimonio y errores de transcripción siguen exigiendo revisión humana o comprobaciones secundarias.
Use el campo normalized devuelto para ver qué letras sobrevivieron al eliminar espacios, guiones y dígitos antes de codificar.
Qué puede escribir y qué obtiene
Los pegados extremadamente largos por encima del tope de caracteres publicado también fallan para que los workers de borde sigan siendo predecibles. Los caracteres no alfabéticos nunca aparecen en normalized: la puntuación, los espacios y los dígitos se eliminan antes de codificar. Si no queda ninguna letra —por ejemplo text igual a 12345 o solo símbolos— la tarea falla con un mensaje de entrada vacía o no alfabética y pide al menos una letra.
Esos fallos no se facturan. No hay dirección de decodificación: los códigos de Colonia son de muchos a uno y con pérdida, de modo que la búsqueda inversa exigiría un diccionario de nombres externo que usted mantenga. Combine la igualdad de code con sus propios umbrales (misma región postal, año de nacimiento similar) al construir una puntuación de coincidencia; este extremo solo calcula la clave fonética.
Ejemplo: text Müller produce code 657 con normalized MULLER; text Schmidt produce 862; text Fischer produce 387.
Dónde resulta útil la fonética de Colonia
Las plataformas de datos de clientes usan la fonética de Colonia en el merge-and-purge del alta para que los apellidos alemanes escritos con y sin diéresis no generen cuentas duplicadas. Los scripts de migración del sector público añaden una columna de código cologne junto a columnas soundex o metaphone al comparar extractos ciudadanos de varias fuentes. Los módulos de aula que enseñan coincidencia de nombres necesitan un oráculo determinista que rechace el pegado vacío en lugar de devolver una cadena vacía que un calificador defectuoso podría tratar como coincidencia total.
Prefiera este codificador cuando el corpus sea alemán o centroeuropeo; para deletreo radiofónico solo en inglés use una herramienta del alfabeto OTAN, y para coincidencia aproximada orientada al inglés compare landings soundex o metaphone en lugar de forzar Colonia sobre nombres anglosajones. Mantenga las solicitudes en nombres sueltos o tokens cortos, almacene el código junto a la ortografía original y recodifique tras limpiar títulos como Dr o Frau en su propio pipeline si desea claves sin título.
Qué puede hacer con ella
CRM y deduplicación de clientes
Asocie un código de Colonia a cada apellido alemán para que Müller y Mueller se agrupen antes de la revisión humana de posibles cuentas duplicadas.
Indexación genealógica y de listados civiles
Indexe filas históricas de personas con Kölner Phonetik para que la búsqueda de Schneider también muestre variantes ortográficas cercanas sin un modelo de texto completo.
Claves de coincidencia ETL para extractos alemanes
Añada una columna cologne determinista en trabajos de migración junto a otras claves fonéticas para ficheros ciudadanos o de empleados de varias fuentes.
Preguntas frecuentes
¿Qué es la fonética de Colonia (Kölner Phonetik)?
Un algoritmo alemán de coincidencia de nombres que mapea una palabra a una cadena corta de dígitos con reglas fijas de letras, contexto para C, D, T, P y X, y luego colapsa dígitos repetidos y ceros interiores.
¿Por qué Müller y Mueller obtienen el mismo código?
Las diéresis se pliegan a vocales base (Ü→U), las vocales se mapean a cero y se eliminan salvo un cero inicial, y los códigos de consonantes restantes coinciden: ambos se normalizan hacia MULLER y code 657.
¿Qué ocurre con una entrada vacía o solo de dígitos?
Se exige al menos un carácter alfabético (incluidas diéresis alemanas o ß); las cadenas vacías, solo espacios y no alfabéticas se rechazan y no se facturan.
¿Puedo decodificar un código de Colonia de vuelta a un nombre?
No. El mapeo es con pérdida y de muchos a uno. Este codificador solo produce el código de dígitos; la búsqueda inversa necesita su propio diccionario de nombres.
¿El mismo código de Colonia significa que dos registros son la misma persona?
No. Un código igual solo marca una coincidencia posible. Los segundos nombres, los apellidos de casada y los errores de transcripción siguen exigiendo una revisión humana o un segundo criterio, como la misma región o un año de nacimiento parecido.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/cologne-phonetic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Müller"}'const res = await fetch("https://api.kit.forhosting.com/enc/cologne-phonetic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Müller"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/cologne-phonetic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Müller"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/cologne-phonetic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Müller"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Müller"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/cologne-phonetic", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Müller"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.cologne_phonetic",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Este codificador aplica las reglas clásicas de Postel en un Worker puro: convierte a mayúsculas y pliega diéresis, asigna cada letra según el contexto del vecino, colapsa dígitos idénticos consecutivos y elimina los ceros interiores. Las cadenas vacías y el pegado solo de dígitos fallan con invalid_input en lugar de inventar un éxito vacío. La ruta gratuita del navegador y la API comparten el mismo módulo, de modo que las pruebas y la producción se mantienen alineadas a $0.002 por solicitud exitosa.
Contrato de entrada, campos de respuesta y casos invalid_input
Envíe por POST un objeto JSON con la cadena obligatoria text (alias input, value, name o s). Se aplica recorte de espacios; el espacio puro y los campos ausentes fallan con invalid_input indicando el problema. En caso de éxito el cuerpo repite text, devuelve code como cadena de dígitos, length como número de dígitos, normalized como la secuencia A–Z en mayúsculas tras plegar diéresis (Ä Ö Ü a A O U, ß a SS), y letter_count para esa secuencia.
Preguntas técnicas
¿Cuánto cuesta el codificador de fonética de Colonia?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.