Calculadora de legibilidad de textos en español
Esta calculadora permite analizar la legibilidad y la comprensibilidad de cualquier texto escrito en español. Calcula automáticamente algunos de los principales índices de facilidad de lectura. Pega el texto que quieras analizar:
1. Fórmulas de legibilidad
Las fórmulas de legibilidad intentan estimar la dificultad de lectura de un texto mediante características cuantificables, principalmente la longitud de las palabras y de las frases. Aunque ninguna puede medir por completo la comprensión lectora, todas ofrecen información útil para adaptar un escrito a su público.
1.1. Lecturabilidad (Fernández Huerta)
José Fernández Huerta creó la segunda fórmula para medir la legibilidad de los textos en español en 19591. Se basa en la de Flesch, desarrollada originalmente para el inglés. La ecuación aparece reproducida con errores en numerosos sitios web, pero aquí se presenta corregida2:
L es la lecturabilidad; P, el promedio de sílabas por palabra; F, la media de palabras por frase.
La lecturabilidad se interpreta conforme a esta tabla:
| L | Nivel | Grado escolar |
|---|---|---|
| 90–100 | Muy fácil | 4.º grado |
| 80–90 | Fácil | 5.º grado |
| 70–80 | Algo fácil | 6.º grado |
| 60–70 | Normal | 7.º u 8.º grado |
| 50–60 | Algo difícil | Preuniversitario |
| 30–50 | Difícil | Cursos selectivos |
| 0–30 | Muy difícil | Universitario (especialización) |
1.2. Fórmula de Crawford
Sirve para calcular los años de escolaridad necesarios para entender un texto. La ideó Alan N. Crawford en 19893. Solo es válida para niños de primaria. La ecuación es la siguiente:
A es el número de años de escolarización; OP, el número de oraciones por cada cien palabras; SP, el número de sílabas por cada cien palabras. El resultado se redondea a la décima más cercana.
1.3. Perspicuidad (Szigriszt‑Pazos)
En 1993, el periodista Francisco Szigriszt‑Pazos propuso en su tesis doctoral4 una fórmula para medir la legibilidad o facilidad de comprensión lectora de un texto. Es una adaptación al español de la ecuación de Flesch, diseñada originalmente para el inglés. Se calcula así:
P es la perspicuidad; S, el total de sílabas; P, la cantidad de palabras; F, el número de frases.
La perspicuidad se interpreta según la tabla:
| P | Estilo | Tipo de publicación | Estudios |
|---|---|---|---|
| 0–15 | Muy difícil | Científica, filosófica | Titulados universitarios |
| 16–35 | Árido | Pedagógica, técnica | Selectividad y estudios universitarios |
| 36–50 | Bastante difícil | Literatura y divulgación | Cursos secundarios |
| 51–65 | Normal | Medios de comunicación | Popular |
| 66–75 | Bastante fácil | Novela, revista femenina | 12 años |
| 76–85 | Fácil | Publicaciones de quiosco | 11 años |
| 86–100 | Muy fácil | Cómics, tebeos y viñetas | 6 a 10 años |
1.4. Fórmula de García López
José Antonio García López propuso en 19995 una fórmula para medir la edad necesaria para entender un texto. Es otra adaptación al español de la fórmula original de Flesch para el inglés. Utiliza las variables sílabas por palabra (S) y palabras por frase (P) en la siguiente ecuación:
E es la edad mínima prevista para comprender el texto sin problemas.
Además, en 2001, demostró su utilidad para averiguar la lecturabilidad de los consentimientos informados6. Considera que la edad mínima para este tipo de escritos no debería superar los doce años, es decir, el nivel de educación primaria en España.
1.5. Legibilidad μ (mu)
La legibilidad μ (mu) es una fórmula para calcular la facilidad lectora de un texto. Fue desarrollada por Miguel Muñoz Baquedano y José Muñoz Urra en Chile en 20067. Incluye en los cálculos el número de palabras, así como la media y la varianza del número de letras de las palabras.
μ es el índice de legibilidad; n, el número de palabras; x̄, la media del número de letras por palabra; σ², su varianza.
El resultado se interpreta así:
| μ | Facilidad de lectura |
|---|---|
| 91–100 | Muy fácil |
| 81–90 | Fácil |
| 71–80 | Un poco fácil |
| 61–70 | Adecuado |
| 51–60 | Un poco difícil |
| 31–50 | Difícil |
| 0–30 | Muy difícil |
1.6. Escala Inflesz (Inés Barrio)
La escala de legibilidad Inflesz mide la facilidad de lectura de un texto. Fue desarrollada por Inés María Barrio Cantalejo y está adaptada al lector español medio actual. Se calcula de la misma manera que la perspicuidad (Szigriszt‑Pazos):
I es la escala Inflesz; S, el total de sílabas; P, la cantidad de palabras; F, el número de frases.
Según la tesis doctoral de Inés Barrio8, la interpretación de la fórmula de perspicuidad de Szigriszt‑Pazos precisa adaptación porque ha sido realizada con una muestra insuficiente, no representativa ni aleatoria de textos. Con la escala Inflesz, el resultado se interpreta de forma distinta:
| Perspicuidad | Inflesz |
|---|---|
| 0–40 | Muy difícil |
| 40–55 | Algo difícil |
| 55–65 | Normal |
| 65–80 | Bastante fácil |
| 80–100 | Muy fácil |
La escala Inflesz se ha empleado en el ámbito sanitario para evaluar la legibilidad de los consentimientos informados, los prospectos y los materiales destinados a la educación para la salud. No obstante, puede aplicarse a textos de cualquier temática.
2. Otras fórmulas para calcular la legibilidad de un texto castellano
Las fórmulas incluidas en la calculadora son las más conocidas y utilizadas. No obstante, existen otros modelos de evaluación de la legibilidad del español que pueden resultar de interés histórico, académico o investigador.
2.1. Comprensibilidad (Gutiérrez de Polini)
Luisa Elena Gutiérrez de Polini (1972) creó la primera fórmula concebida, desde el principio, para el castellano, es decir, no es una adaptación de otra para otro idioma. Se calcula así:
C es la comprensibilidad del texto; L, el número de letras; P, el de palabras; F, el de frases.
Está pensada para textos escolares destinados a alumnos de sexto grado. No es adecuada para textos dirigidos a adultos ni para estudiantes de otras edades.
No he podido localizar la fuente primaria9 en internet; únicamente he encontrado referencias secundarias. Existe una copia en la Biblioteca Nacional de Venezuela.
Tampoco he encontrado una escala de interpretación que permita asociar cada valor a un nivel de dificultad concreto. En principio, cuanto menor es la puntuación obtenida, más difícil resulta el texto.
2.2. Grado SMOG-SOL (Contreras)
El grado SMOG (McLaughlin, 1969)10 mide la legibilidad de un texto inglés. Se calcula con esta fórmula:
Donde G es el nivel de grado, P es el número de palabras con tres sílabas o más y F, el número de frases.
Contreras lo adaptó al español11 en 1999. Presenta las fórmulas SOL para convertir el grado SMOG entre el inglés, el español y el francés. Para el español queda así:
Donde E es el nivel de grado convertido al español y S el nivel de grado obtenido con la primera fórmula.
El nivel de grado viene a ser el número de años de escolaridad necesarios para entender el texto. Es el dato que se obtiene con la segunda fórmula.
2.3. Spaulding
Fue la primera fórmula de legibilidad desarrollada específicamente para el español. Seth Spaulding la publicó en 195612:
Donde D es la dificultad del texto; L es la longitud media de la frase; R es la densidad de palabras raras, o sea, no incluidas en la lista de 1500 lemas frecuentes en castellano de Milton Buchanan. Además, no se consideran raras las que se repiten más de dos veces, los días de la semana, los meses del año, los nombres propios, los diminutivos y los aumentativos de las incluidas en la lista, los topónimos y los gentilicios.
El resultado se interpreta así:
| Resultado | Dificultad |
|---|---|
| 0-40 | primeras enseñanzas y materiales muy simplificados |
| 40-60 | muy fácil |
| 61-80 | fácil |
| 81-100 | moderadamente difícil |
| 101-120 | difícil |
| 121 o más | excepcionalmente difícil |
2.4. Fórmulas de Natividad López Rodríguez
Natividad López Rodríguez publicó sus ecuaciones de predicción de la dificultad de comprensión lectora del texto castellano en su tesis doctoral12, que presentó en 1981 y fue dirigida por José Luis Rodríguez Diéguez.
En sus fórmulas se incluyen hasta 27 variables lingüísticas del texto:
- x₁: Porcentaje de comas.
- x₂: Porcentaje de puntos y comas.
- x₃: Porcentaje de puntos y seguido.
- x₄: Porcentaje de puntos y aparte.
- x₅: Porcentaje de dos puntos y seguido.
- x₆: Porcentaje de dos puntos y aparte.
- x₇: Porcentaje de signos de admiración.
- x₈: Porcentaje de signos de interrogación.
- x₉: Porcentaje de guiones de diálogo.
- x₁₀: Porcentaje de palabras compuestas.
- x₁₁: Porcentaje de nombres propios.
- x₁₂: Porcentaje de numerales.
- x₁₃: Porcentaje de palabras superiores a 10 letras.
- x₁₄: Porcentaje de palabras de 9 y 10 letras.
- x₁₅: Porcentaje de palabras superiores a 8 letras.
- x₁₆: Número promedio de palabras por frase.
- x₁₇: Número de frases por cien palabras.
- x₁₈: Número promedio de letras por palabra.
- x₁₉: Porcentaje de palabras mayores de 3 sílabas.
- x₂₀: Número promedio de sílabas por palabra.
- x₂₁: Índice de redundancia (TTR).
- x₂₂: Porcentaje de palabras ausentes del Vocabulario Común de García Hoz.
- x₂₃: Porcentaje de palabras ausentes del Vocabulario Común Fundido de García Hoz.
- x₂₄: Porcentaje de palabras ausentes de la Lista de Densidad de Spaulding.
- x₂₅: Porcentaje de pronombres personales de primera y segunda personas.
- x₂₈: Porcentaje de palabras ausentes de la Lista de Densidad en sentido amplio.
La cantidad de fórmulas de su tesis doctoral es enorme, pero se pueden resumir en esta tabla:
| Curso | Aplicación | Fórmula | Importante |
|---|---|---|---|
| 8º E.G.B. | ordenador | 4 | No |
| 8º E.G.B. | ordenador | 5 | Sí |
| 8º E.G.B. | manual | 6 | No |
| 8º E.G.B. | manual | 7 | No |
| 8º E.G.B. | manual | 8 | Sí |
| 8º E.G.B. | ordenador | 9 | No |
| 8º E.G.B. | ordenador | 10 | Sí |
| 7º E.G.B. | ordenador | 11 | Sí |
| 7º E.G.B. | manual | 12 | Sí |
| 7º E.G.B. | manual | 13 | Sí |
2.4.1. Fórmulas de 8º de E.G.B.
Fórmulas con algunas de las 26 variables originales
Fórmulas para ordenador
Por su complejidad, es necesario el uso del ordenador para calcular el índice de dificultad (I.D.).
Fórmula nº 4 (diez variables):
Fórmula nº 5 (siete variables):
Fórmulas manuales
Fórmula nº 6 (con seis variables):
Fórmula nº 7 (cinco variables):
Fórmula nº 8 (cuatro variables):
Fórmulas con el subconjunto optimizado de 18 variables
Se quitan las redundantes porque no aportan gran valor predictivo. Así quedan más sencillas las fórmulas para calcular el índice de dificultad de comprensión lectora.
Fórmulas para ordenador
Fórmula nº 9 (doce variables):
Fórmula nº 10 (nueve variables):
Fórmulas manuales
Las fórmulas obtenidas a partir de las 18 variables optimizadas con 7 variables quedan igual que las obtenidas de las 26 originales.
2.4.2. Fórmulas de 7º de E.G.B.
Fórmulas para ordenador
Fórmula nº 11 (nueve variables):
Fórmula nº 12 (siete variables):
Fórmulas manuales
Fórmula nº 13 (cuatro variables):
3. ¿Para qué sirve medir la legibilidad de un texto?
Las fórmulas de legibilidad ayudan a estimar la dificultad de lectura de un texto y pueden resultar útiles para
- Material educativo.
- Artículos periodísticos.
- Sitios web y blogs.
- Comunicación institucional.
- Información para pacientes.
- Consentimientos informados.
- Manuales y documentación técnica.
Estas métricas permiten detectar textos potencialmente complejos y adaptarlos mejor a las necesidades de sus destinatarios.
4. Limitaciones de las fórmulas de legibilidad
Las fórmulas de legibilidad son herramientas útiles, pero no deben interpretarse como una medida exacta de la calidad de un texto.
Estos índices se basan principalmente en variables cuantificables, como la longitud de las palabras y de las frases. Por ello, pueden ofrecer una estimación razonable de la dificultad de lectura, aunque no tienen en cuenta todos los factores que influyen en la comprensión.
No consideran aspectos importantes como
- El conocimiento previo del lector.
- El interés por el tema.
- La organización de las ideas.
- La tipografía y el diseño visual.
- El contraste, el espaciado y la composición de la página.
- La presencia de imágenes, gráficos o tablas de apoyo13.
Tampoco es cierto que una palabra corta sea siempre más fácil de entender que una larga. Por ejemplo, «loor» es más breve que «alabanza», pero la segunda suele resultar mucho más familiar para la mayoría de los lectores14.
Además, es posible obtener puntuaciones elevadas escribiendo frases muy cortas que, sin embargo, formen un texto confuso o poco coherente. Del mismo modo, un texto especializado puede obtener una puntuación baja y seguir siendo perfectamente adecuado para su público.
Las distintas fórmulas pueden producir resultados diferentes cuando se aplican al mismo texto. Esto es normal porque utilizan criterios distintos y todas tienen limitaciones.
Por ese motivo, conviene emplearlas como una ayuda para revisar y mejorar los textos, no como un objetivo en sí mismo. La prioridad debe ser siempre que el contenido resulte claro, útil y adecuado para quienes van a leerlo.
En última instancia, ninguna fórmula puede sustituir el conocimiento que el autor tiene de sus lectores.
5. Otras herramientas
5.1. Trunajod
Trunajod merece un artículo completo aparte. Es una herramienta muy completa que le da mil vueltas a esta calculadora de legibilidad.
Estas son las instrucciones para instalar Trunajod en Debian 13:
Instalar el paquete python3-venv:
$ sudo apt install python3-venv
Crear el entorno virtual (pon la ruta que quieras):
$ python3 -m venv /home/alejandro/Otros/venv
Activar el entorno virtual (con la ruta que elegiste):
$ source /home/alejandro/Otros/venv/bin/activate
Instalar los paquetes:
$ pip install spacy click seaborn textract trunajod
Instalar el modelo es_core_news_sm:
$ python -m spacy download es_core_news_sm
Y ya está instalado.
Para usarlo bien, lo mejor es seguir las instrucciones de Trunajod, que están en inglés.
Puede ser necesario descargar trunajod_models_v0.1.tar.gz en el directorio de trabajo.
En esa misma carpeta, creamos el script (adaptado de las instrucciones de Trunajod):
#!/usr/bin/env python3
"""
Análisis lingüístico de documentos mediante TRUNAJOD y spaCy.
Este script extrae el texto de diversos formatos de documento y
calcula métricas de complejidad lingüística, como la diversidad
y densidad léxica. Permite exportar los resultados a un archivo CSV.
Formatos soportados (vía textract):
.docx, .doc, .odt, .rtf, .pdf, .txt, .epub, entre otros.
Uso básico:
python3 analizar-texto.py documento1.docx documento2.pdf
Exportar a CSV:
python3 analizar-texto.py documento1.docx --csv resultados.csv
"""
import argparse
import csv
import sys
from pathlib import Path
from typing import Dict
import spacy
import textract
import TRUNAJOD.ttr
from TRUNAJOD import surface_proxies
def parse_arguments() -> argparse.Namespace:
"""Configura y procesa los argumentos de la línea de comandos."""
parser = argparse.ArgumentParser(
description="Analiza la complejidad lingüística de uno o varios documentos."
)
parser.add_argument(
"archivos",
nargs="+",
type=Path,
help="Rutas a los archivos que se van a analizar (ej. docx, pdf)."
)
parser.add_argument(
"--modelo",
type=str,
default="es_core_news_sm",
help="Modelo de spaCy a utilizar (por defecto: es_core_news_sm)."
)
parser.add_argument(
"--csv",
type=Path,
metavar="ARCHIVO_CSV",
help="Ruta del archivo CSV donde se exportarán los resultados."
)
return parser.parse_args()
def analizar_documento(nlp: spacy.Language, filepath: Path) -> Dict[str, float]:
"""
Extrae el texto de un archivo y calcula sus métricas lingüísticas.
Args:
nlp: Objeto del modelo de lenguaje cargado en spaCy.
filepath: Ruta al archivo a procesar.
Returns:
Un diccionario con las métricas calculadas en formato clave-valor.
"""
text = textract.process(str(filepath)).decode("utf8")
doc = nlp(text)
return {
"Diversidad léxica (MTLD)": TRUNAJOD.ttr.lexical_diversity_mtld(doc),
"Densidad léxica": surface_proxies.lexical_density(doc),
"Disimilitud (POS)": surface_proxies.pos_dissimilarity(doc),
"Proporción de conectores": surface_proxies.connection_words_ratio(doc),
}
def main() -> None:
args = parse_arguments()
resultados_globales = []
print(f"Cargando modelo de lenguaje '{args.modelo}'...\n", file=sys.stderr)
try:
nlp = spacy.load(args.modelo, disable=["ner", "textcat"])
except OSError:
print(
f"[!] Error: No se pudo cargar el modelo '{args.modelo}'.\n"
f"Asegúrate de haberlo descargado ejecutando:\n"
f" python3 -m spacy download {args.modelo}",
file=sys.stderr
)
sys.exit(1)
for archivo in args.archivos:
print(f"{'=' * 60}")
print(f"Archivo: {archivo.name}")
print(f"{'=' * 60}")
if not archivo.exists():
print(f"[!] Error: El archivo '{archivo}' no existe o la ruta es incorrecta.\n")
continue
try:
resultados = analizar_documento(nlp, archivo)
# Guardamos los resultados para el CSV, añadiendo el nombre del archivo
fila_csv = {"Archivo": archivo.name}
fila_csv.update(resultados)
resultados_globales.append(fila_csv)
for metrica, valor in resultados.items():
print(f"{metrica:<30}: {valor:>8.4f}")
print()
except textract.exceptions.ExtensionNotSupported:
print(f"[!] Error: Formato de archivo no soportado para '{archivo.name}'.\n")
except Exception as exc:
print(f"[!] Error inesperado procesando '{archivo.name}': {exc}\n")
# Generación del archivo CSV si se solicitó y hay datos válidos
if args.csv and resultados_globales:
try:
with open(args.csv, mode="w", newline="", encoding="utf-8") as csv_file:
campos = list(resultados_globales[0].keys())
escritor = csv.DictWriter(csv_file, fieldnames=campos)
escritor.writeheader()
escritor.writerows(resultados_globales)
print(f"[*] Resultados exportados exitosamente a '{args.csv}'.")
except Exception as exc:
print(f"[!] Error al escribir el archivo CSV: {exc}", file=sys.stderr)
elif args.csv:
print("[!] No se generó el CSV porque no hubo resultados válidos.", file=sys.stderr)
print("\nAnálisis finalizado.")
if __name__ == "__main__":
main()
Lo guardamos con cualquier nombre con extensión .py, como analizar-texto.py y lo ejecutamos así:
$ python3 analizar-texto.py fichero1.docx fichero2.docx
Que da una salida similar a esta:
Cargando modelo de lenguaje 'es_core_news_sm'...
============================================================
Archivo: fichero1.docx
============================================================
Diversidad léxica (MTLD) : 40.6846
Densidad léxica : 0.5739
Disimilitud (POS) : 0.5232
Proporción de conectores : 0.0771
============================================================
Archivo: fichero2.docx
============================================================
Diversidad léxica (MTLD) : 36.3744
Densidad léxica : 0.5107
Disimilitud (POS) : 0.4518
Proporción de conectores : 0.0521
============================================================
Archivo: fichero3.odt
============================================================
Diversidad léxica (MTLD) : 47.9361
Densidad léxica : 0.5425
Disimilitud (POS) : 0.4105
Proporción de conectores : 0.0512
Análisis finalizado.
Obtenemos:
- Diversidad léxica: medida de la diversidad léxica del texto.
- Densidad léxica: proporción de palabras con significado léxico del texto.
- Disimilitud: medida de la disimilitud de categorías gramaticales entre oraciones.
- Proporción de conectores: obtiene la proporción de conectores sobre el total de palabras del texto.
Se pueden obtener muchos más parámetros del texto de cada archivo. Están todos en el manual de referencia de la API de Trunajod.
5.2. Estilector
Estilector es programa de ayuda a la redacción de textos académicos en español. Analiza el texto, detecta problemas de estilo y redacción, y ofrece sugerencias de mejora, además de algunas correcciones ortográficas. Funciona copiando y pegando el texto en la plataforma para recibir recomendaciones fundamentadas, aunque estas deben interpretarse como orientaciones y no como reglas obligatorias.
5.3. Inteligencia artificial
Hoy en día los asistentes de inteligencia artificial pueden simplificar automáticamente muchos textos y adaptarlos a distintos niveles de lectura. Puedes introducir un prompt parecido a este:
Reescribe el texto para que sea más fácil de entender por jóvenes de 16 años:
Y aquí pegas el texto
Obtienes rápidamente un resultado muy bueno.
Sin embargo, conocer los fundamentos de la legibilidad sigue siendo útil. Estas fórmulas permiten evaluar de forma objetiva los cambios realizados, comparar versiones de un mismo documento y comprender mejor qué factores influyen en la facilidad de lectura.
Además, ninguna herramienta automática conoce tan bien a los lectores como la persona que redacta el texto. Conviene hacer las cosas por uno mismo porque la IA te vuelve más imbécil cuanto más la usas.
Fernández Huerta J. (1959). Medidas sencillas de lecturabilidad. Consigna (Revista pedagógica de la sección femenina de Falange ET y de las JONS), (214), 29‑32. ↩︎
Gwillim Law (2011). Error in the Fernandez Huerta Readability Formula. ↩︎
Crawford, Alan N. (1989). Fórmula y gráfico para determinar la comprensibilidad de textos de nivel primario en castellano. ↩︎
Szigriszt Pazos, Francisco (1993). Sistemas predictivos de legibilidad del mensaje escrito: fórmula de perspicuidad. Tesis doctoral. ↩︎
García López JA, Arcos A. «Medida de la legibilidad del material escrito». Pharm Care Esp 1999; 1(6): 412‑9. ↩︎
García López JA. Legibilidad de los folletos informativos. Pharm Care Esp 2001; 3:49‑56. ↩︎
Muñoz, M. y Muñoz, J. (2006). Legibilidad Mμ. Viña del Mar, Chile. ↩︎
Barrio, Inés (2008). Validación de la Escala INFLESZ para evaluar la legibilidad de los textos dirigidos a pacientes. An Sist Sanit Navar 2008; 31(2): 135‑152. ↩︎
Gutiérrez de Polini, L.E. (1972). Investigación sobre lectura en Venezuela. Documento presentado a las Primeras Jornadas de Educación Primaria. Ministerio de Educación, Caracas. ↩︎
McLaughlin, G. Harry (May 1969). «SMOG Grading — a New Readability Formula». Journal of Reading. 12 (8): 639–646. Retrieved 2016-12-07. ↩︎
Contreras, A.; Garcia-Alonso, R.; Echenique, M.; Daye-Contreras, F. (1999). «The SOL Formulas for Converting SMOG Readability Scores Between Health Education Materials Written in Spanish, English, and French». Journal of Health Communication. 4 (1): 21–29. doi:10.1080/108107399127066. PMID 10977275. Retrieved 2008-09-20. ↩︎
López Rodríguez, Natividad. (1981). Fórmulas de legibilidad para la lengua castellana. Páginas 1-650. ↩︎ ↩︎
García Muñoz, Óscar. 2012. Lectura fácil. Métodos de redacción y evaluación (PDF). ↩︎
Corpus de Referencia del Español Actual (CREA); Listado de frecuencias. Lista total de frecuencias. 1 de octubre de 2017. ↩︎