Quitar acentos del texto
Quite los acentos y quédese con letras simples: café naïve São Paulo pasa a cafe naive Sao Paulo, con 3 acentos eliminados. Letras especiales como æ y ł también se convierten, mientras que las cifras y los emojis quedan igual. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- café naïve São Paulo
- Resultado
- cafe naive Sao Paulo
- Longitud
- 20
- Longitud original
- 20
- Cantidad de cambios
- 3
Quitar acentos y otras marcas diacríticas es un paso habitual cuando necesita texto ASCII plano para identificadores, claves de búsqueda, nombres de archivo, exportaciones CSV o sistemas que aún fallan con casos límite de UTF-8. Esta herramienta toma el texto que introduce, descompone caracteres Unicode, elimina marcas combinantes, aplica una tabla fija de transliteración latina para letras que no se reducen solo con normalización y devuelve la cadena sin acentos junto con metadatos de longitud y cambios. Dígitos, la mayor parte de la puntuación, emoji y guiones no mapeados se conservan; solo se simplifican diacríticos y formas latinas mapeadas.
Cómo funciona la eliminación de acentos por dentro
Quitar acentos no es una simple búsqueda de caracteres; es un pipeline determinista breve. Primero el motor aplica la forma de normalización Unicode D (NFD), que separa las letras base de sus marcas diacríticas combinantes: así é se convierte en e más un acento agudo combinante, ñ en n más una tilde combinante y ü en u más una diéresis combinante.
Segundo, se elimina toda marca combinante en los rangos habituales, dejando las letras base para la gran mayoría del texto latino de Europa occidental y central y del vietnamita con tonos. Tercero, una tabla fija de transliteración reescribe letras que sobreviven a NFD sin volverse ASCII: formas nórdicas e islandesas como ø, æ, ð y þ; la ese afilada alemana; ligaduras francesas y latinas œ; letras eslavas y polacas con trazo como ł y đ; y algunas bases maltesas y vietnamitas con cuerno.
La tabla conserva mayúsculas y minúsculas cuando existen ambos casos (Æ pasa a AE, æ a ae). Dígitos, espacios, puntuación, emoji y guiones fuera del mapa pasan intactos, de modo que el texto cirílico o CJK no se romaniza de forma inventiva: esa es otra intención de producto. Las cadenas vacías fallan la validación antes de cualquier transformación.
Como la ruta es puro parse sobre cadenas, la latencia se mantiene submilisegundo en formularios típicos y el modelo de coste publicado es analítico, no basado en tokens de modelo.
Dónde se usan las herramientas de quitar acentos
Los equipos de producto y crecimiento convierten nombres de pantalla y campos de ciudad a claves ASCII antes de las comprobaciones de unicidad para que José y Jose no creen casi-duplicados confusos en sistemas que comparan por bytes. Los sistemas de búsqueda y etiquetado quitan diacríticos de consultas y etiquetas de faceta para que los filtros coincidan tanto si se escribió resume como résumé.
Los ingenieros de datos que limpian exportaciones de CRM, hojas de cálculo y bases legadas suelen forzar columnas de texto libre a formas sin acentos antes de unir por claves blandas o cargar en almacenes que aún prefieren colaciones ASCII en ciertos índices. Los equipos de contenido y localización preparan alternativas ASCII para nombres de archivo, segmentos de ruta URL (cuando no usan una herramienta de slug dedicada), asuntos de correo en relés exigentes y archivos CSV abiertos en herramientas que rompen UTF-8.
Si más adelante necesita un slug URL completo con guiones y minúsculas, solo conversión de mayúsculas, detección de idioma o romanización fonética de guiones no latinos, trátelos como intenciones de búsqueda y landings distintas, no sobrecargando esta página de quitar acentos del texto.
Qué puede hacer con ella
Normalizar nombres y ciudades para emparejar
Quite diacríticos de nombres de personas y lugares antes de las comprobaciones de unicidad para alinear José/Jose y São Paulo/Sao Paulo en claves blandas.
Consistencia en búsqueda y filtros
Unifique cadenas de consulta y etiquetas de faceta para que los filtros coincidan tanto si el usuario escribe con acentos como en ASCII plano.
Preguntas frecuentes
¿Qué hace quitar acentos del texto?
Elimina marcas diacríticas y mapea especiales latinos habituales para que las letras acentuadas pasen a ASCII plano (é→e, ñ→n, ü→u, æ→ae, ł→l, …) y devuelve la cadena sin acentos más metadatos de cambio.
¿Qué ocurre si envío texto vacío?
Las cadenas vacías se rechazan para que los clientes detecten campos ausentes en lugar de recibir un resultado vacío en silencio.
¿Cambia mayúsculas o crea slugs URL?
No. Se conservan las mayúsculas (Café pasa a Cafe, no a cafe). No inserta guiones ni codifica porcentajes para URL; use una herramienta de slug o minúsculas dedicada para esas intenciones.
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Qué pasa con letras como æ o ł, que no llevan tilde?
Una tabla fija las reescribe en letras latinas simples y respeta mayúsculas y minúsculas: Æ pasa a AE, æ a ae y Łódź a Lodz. Así se cubren formas nórdicas, alemanas y polacas.
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/str/remove-accents \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"café naïve São Paulo"}'const res = await fetch("https://api.kit.forhosting.com/str/remove-accents", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "café naïve São Paulo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/remove-accents",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "café naïve São Paulo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/remove-accents", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"café naïve São Paulo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"café naïve São Paulo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/remove-accents", 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": "café naïve São Paulo"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.remove_accents",
"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
La entrada vacía se rechaza con un error de validación claro en lugar de devolver un payload vacío en silencio, lo que protege a los clientes que olvidaron enlazar un campo. Sin idas a la red dentro del motor, sin semillas aleatorias y sin dependencia del reloj: el mismo texto produce siempre el mismo JSON.
Cómo funciona la eliminación de acentos por dentro
El algoritmo recorre la cadena una vez tras la normalización, construye el resultado y calcula changed, changed_count y accents_removed para que los pipelines detecten no-ops sin reescaneo. Las cargas extremadamente largas por encima del tope documentado también fallan con invalid_input para que una sola petición no monopolice la memoria del Worker.
Qué envía usted y qué recibe de vuelta
Envíe un único campo obligatorio llamado text con la cadena no vacía que desea desacentuar. Números y booleanos se convierten a su forma decimal o true/false; objetos, arrays, NaN e Infinity se rechazan. Comprobaciones clásicas: café pasa a cafe, naïve a naive, São Paulo a Sao Paulo, Müller a Muller, ñoño a nono, crème brûlée a creme brulee y Łódź a Lodz tras el mapeo de trazo. Se aceptan alias como input, value, data, s, message, string, content y body por comodidad al conectar clientes antiguos. En caso de éxito la respuesta repite el text original, el result sin acentos, la length del resultado, original_length, un booleano changed, un changed_count de posiciones distintas (incluidas expansiones de varias letras como æ a ae), accents_removed como recuento de marcas combinantes eliminadas más letras fuente mapeadas, y operation con valor remove_accents. Cuando la entrada ya no tenía diacríticos ni especiales latinos mapeados, result es igual a text, changed es false y accents_removed es cero: útil como detector de no-op en guardas ETL. Use el formulario gratuito del navegador para pegar y copiar con rapidez, y llame al mismo contrato desde scripts cuando normalice columnas CSV, claves de búsqueda o payloads de API en bloque. El precio de las llamadas API correctas es la base publicada de $0.002 por ítem; los fallos de validación, incluida la entrada vacía, no consumen saldo prepago.
Dónde se usan las herramientas de quitar acentos
Como esta capacidad es un motor de parse puro, el precio de API es la base publicada de $0.002 por ítem correcto y la validación fallida no consume saldo.
Casos de integración
Limpiar columnas CSV y de API
Desacentúe etiquetas, títulos y campos de unión blanda en pipelines masivos con la misma forma de resultado que la herramienta del navegador.
Preguntas técnicas
¿El texto ya en ASCII plano cambia?
No. Si no hay diacríticos ni especiales mapeados, result es igual al texto original, changed es false y accents_removed es cero.