Saltar al contenido

📑 Generador de TOC Markdown

Pega tu Markdown para generar un índice anidado a partir de los encabezados h1-h6. Slugs de GitHub y GitLab, salida Markdown/HTML/plano, límite de profundidad y listas numeradas.

100% Gratis Sin registro Solo navegador 5 idiomas Modo oscuro

🔒 Sobre la privacidad

⚙ Opciones

Vista previa (HTML)

📖 Dónde se suele tropezar

Lee los encabezados de un Markdown y construye un índice, con formato de salida a elegir (texto plano, slug o personalizado), qué niveles incluir, listas numeradas y la opción de omitir h1. Todo se ejecuta en el navegador. La regla para generar enlaces de ancla difiere de una plataforma a otra: no hay garantía de que los enlaces producidos aquí funcionen donde los pegues, y los encabezados no latinos, en particular, se tratan de forma muy distinta según el entorno.

Caso Qué ocurre Qué hacer
Al pulsar una entrada del índice no salta a ninguna parte La regla para convertir un encabezado en un id —la creación de slugs— difiere según la plataforma: qué signos se eliminan, cómo se tratan las secuencias de espacios, qué ocurre con los emoji y, sobre todo, cómo se trata el texto no latino. GitHub conserva el japonés en el id y lo codifica en porcentajes dentro del enlace, mientras que algunos entornos lo descartan por completo y recurren a un section-1 numerado. Además, el mismo Markdown genera identificadores distintos en GitHub, GitLab, Qiita, Zenn, VitePress y Docusaurus: no se pueden producir enlaces correctos sin decidir antes dónde van a vivir. Verifica pulsando de verdad en el destino: es la única comprobación fiable. En GitHub, al pasar el ratón sobre un encabezado aparece un icono de enlace a su izquierda, y el enlace que copies de ahí es el correcto. Confirma uno y ya conoces la regla; aplica la misma transformación al resto. Y una vez publicado, pulsa cada entrada al menos una vez: sobre todo en un artículo largo, un índice con enlaces rotos es peor que ninguno, porque llevar a alguien a un enlace que no hace nada es peor experiencia que no ofrecerlo. Si el mismo texto sale en varias plataformas, renunciar a los enlaces y publicar una lista en texto plano es una decisión perfectamente realista.
Los encabezados repetidos enlazan todos al primero Encabezados como Resumen o Advertencias se repiten varias veces en un mismo artículo. La mayoría de plataformas evita la colisión añadiendo un contador al segundo identificador y siguientes: -1, -2, etc., pero un generador que desconozca la regla produce el mismo enlace para todos: pulsa cualquiera de tres entradas Resumen y aterrizas en la primera. La numeración tampoco está normalizada: unas implementaciones empiezan en -1 y otras en -2. Desde la perspectiva del lector, lo incómodo es que el enlace funciona y va al sitio equivocado, con lo que la rotura pasa desapercibida. Haz únicos los encabezados. Escribir Resumen de los cambios de autenticación y Resumen del trabajo de rendimiento, en vez de sólo Resumen, no sólo elimina el problema de los enlaces sino que vuelve informativo el índice de un vistazo. Dicho de otro modo, no es un apaño técnico sino una mejora de la redacción: en cuanto la misma palabra aparece tres veces en un índice, su valor para el lector ya ha caído. Si de verdad debes repetir un encabezado, incrusta a mano un <a id="..."> de HTML y gestiona tú los identificadores: funciona en cualquier plataforma que deje pasar HTML en crudo, aunque no en sitios como Slack, que no lo interpreta.
El índice es tan largo que estorba Incluye h4 y h5 y el índice por sí solo llena una pantalla. Cuando lo primero que encuentra quien lee es una lista de treinta líneas, muchos se van antes de llegar al texto. El propósito de un índice es transmitir la forma del conjunto de un vistazo, así que uno que no se abarca de un vistazo no cumple su función. Además, su longitud refleja un problema de la propia estructura de encabezados: pasar de veinte entradas significa o bien que se ha metido demasiado en un solo artículo, o que se están usando encabezados en lugar de párrafos. Limita el índice a h2 y h3: los ajustes de nivel mínimo y máximo de esta herramienta hacen exactamente eso. El h1 es el título del artículo, así que activa omitir h1; dos elementos h1 en un mismo documento no es, de entrada, una estructura HTML correcta. Si aun así pasa de veinte entradas, plantéate dividir el artículo: un índice largo es un síntoma, y el diagnóstico es que el artículo se ha extendido más allá de lo que puede abarcar. Juzgar por si quien lee puede decidir en cinco segundos qué sección necesita fija enseguida la granularidad adecuada.

Comprueba primero si necesitas un índice en el cuerpo siquiera. Desde 2021, GitHub muestra un esquema de los encabezados desde un botón en la parte superior derecha del README, y Zenn, Qiita y la mayoría de generadores de sitios estáticos —VitePress, Docusaurus, Astro— lo generan a partir de los encabezados y lo muestran junto al texto mientras te desplazas. Es decir, escribirlo a mano sólo hace falta donde el entorno no lo ofrece. Entiende también el coste de incrustarlo: cada encabezado que cambies implica editar el índice a mano, y acabarás olvidándolo. Un índice caducado es peor que ninguno, porque dirige a la gente a secciones que ya no existen. Para un documento que vayas a mantener, o regeneras el índice en CI o decides no tenerlo: ejecutar algo como markdown-toc desde un gancho de pre-commit elimina el paso manual por completo. Un índice escrito una vez y luego abandonado es la peor de las opciones.

📖 Cómo usar

  1. 1
    Pega Markdown
    Pega tu Markdown completo en el área izquierda.
  2. 2
    Ajusta las opciones
    Elige formato, slug, niveles y numeración.
  3. 3
    Copia o descarga
    Copia al portapapeles o descarga.

❓ Preguntas frecuentes

¿Los anclajes coinciden con GitHub?
Sí. Replica las reglas de slugger.js de GitHub.
¿Se envía mi Markdown al servidor?
No. Todo se procesa en el navegador.
¿Se ignoran # dentro de bloques?
Sí. Los bloques de código se excluyen.

🔗 Herramientas relacionadas

🐛 ¿Encontró un problema con esta herramienta?

Gratis, sin registro. Incluso solo los pasos para reproducir ayudan. Los informes van directamente al operador y se usan para corregir.

* Se envía automáticamente la info del navegador (UA / pantalla / idioma / URL) para reproducir