HTML a Markdown
TextoTodo se ejecuta en tu navegador: no se sube nada
Convierte un bloque de HTML en Markdown. Se cubren títulos, párrafos, negrita y cursiva, enlaces e imágenes, citas, listas ordenadas y desordenadas (también anidadas), bloques de código delimitados con el lenguaje tomado de la clase, y tablas de barras al estilo GFM — el contenido copiado de una página web, de un editor de texto enriquecido o de un editor de Markdown se puede pegar tal cual. Tres cosas merecen mención aparte: los caracteres del cuerpo que chocan con la sintaxis de Markdown se escapan (si no, una línea con `*` se renderiza en cursiva y el usuario solo ve que la salida cambió de forma sin motivo); la valla del bloque de código crece para ajustarse a los acentos graves del contenido (un cuerpo con tres acentos graves cerraría el bloque antes de tiempo y volcaría el resto al texto de la página); y las URL `javascript:` no se convierten en enlaces, solo en texto: la salida va a tu propio blog y un punto de entrada XSS clicable no es algo que esta herramienta deba producir.
Funciones
- Títulos, párrafos, negrita, cursiva, tachado, código en línea, enlaces e imágenes
- Listas ordenadas y desordenadas, anidadas incluidas, con sangría a juego con el marcador — lo que también cubre la forma sin </li>
- Bloques de código delimitados, con el lenguaje leído de class="language-xxx" o "lang-xxx"
- Tablas de barras GFM, rellenando las celdas que faltan y escapando las barras de dentro
- Citas, reglas horizontales y saltos de línea forzados
- Los caracteres de sintaxis de Markdown del cuerpo se escapan para que no se interpreten como formato
- La valla del código crece automáticamente cuando el contenido lleva acentos graves
- Las URL javascript: y data: no se convierten en enlaces clicables
- script y style se descartan enteros en vez de acabar en la salida
- Las etiquetas desconocidas conservan su texto y pierden su marcado, así que la salida nunca mezcla dos sintaxis
- Los fragmentos exportados por editores de texto enriquecido (UEditor, CKEditor, TinyMCE) con estilos en línea se pegan tal cual
- Todo se ejecuta localmente en el navegador; tu contenido nunca se sube
Cómo se usa
- Pega el HTML
- Desactiva la opción de línea en blanco para un diseño más compacto
- Copia el resultado en tu blog, tu gestor de incidencias, tu documentación o tu README
Preguntas frecuentes
- ¿Por qué un asterisco de mi texto se volvió \*?
- Porque Markdown lee `*` como el inicio de la cursiva. Una línea con `a*b*c` se renderizaría como `a` más una `b` en cursiva más `c` — el usuario solo ve que la salida cambió de forma sin motivo. Escapada a `a\*b\*c` se renderiza como los caracteres que había. Lo mismo vale para los acentos graves, los guiones bajos, los corchetes y los ángulos. `#` y `-` se dejan a propósito: solo tienen significado de bloque al principio de línea, y escaparlos en todas partes llenaría la salida de barras invertidas (`C#` se volvería `C\#`).
- ¿De dónde sale el lenguaje del bloque de código?
- De la clase de `<pre><code class="language-js">`; se reconocen los prefijos `language-` y `lang-` (el primero es lo que emiten GitHub y highlight.js, el segundo Prism). Sin ninguno, la valla sale sin lenguaje. La valla además se alarga sola cuando el contenido lleva tres acentos graves; si no, el bloque se cerraría antes de tiempo en esa línea y todo lo que viniera después se volvería texto de la página.
- ¿Por qué un enlace se degradó a texto plano?
- Porque su dirección usaba un esquema como `javascript:` o `data:`. Casi nunca tienen cabida en la prosa, y la salida va a tu propio blog o a tu gestor de incidencias: un `[pincha aquí](javascript:...)` pegado ahí es un punto de entrada XSS clicable. Esta herramienta solo deja pasar http, https, ftp, mailto, tel y similares, y conserva el texto en cualquier otro caso.
- ¿Por qué mi tabla sale con una fila de encabezado?
- Porque una tabla de Markdown tiene que tener una: no hay forma de expresar filas sin encabezado con la sintaxis de barras. Así que cuando la tabla de origen es todo `<td>`, la primera fila se vuelve el encabezado. Las celdas que faltan se rellenan, y una barra dentro de una celda se escapa a `\|`, ya que una sin escapar partiría la tabla en dos.
- ¿Sirve para lo que exportan UEditor y editores parecidos?
- Sí. La salida de los editores suele traer un montón de estilos en línea (`text-indent`, `font-family`, `text-align`) y capas de `<div>` y `<span>` anidados. Esta herramienta descarta el estilo y conserva el texto, porque esos estilos no tienen equivalente en Markdown y forzarlos a HTML en línea haría la salida ilegible. Es un compromiso deliberado: texto limpio en lugar de HTML con su estilo original encima.
- ¿Se sube mi contenido?
- No. La conversión ocurre por completo en la memoria del navegador; la página no hace ninguna petición y funciona sin conexión.
Herramientas relacionadas
Previsualizar Markdown
TextoEscribe Markdown a la izquierda y velo renderizado a la derecha: anclas, índice y bloques de código coloreados. El HTML pegado sigue siendo texto.
Formateador HTML
FormatoFormatea HTML en línea por niveles de etiqueta, manteniendo el texto y las etiquetas en línea en la misma línea y el contenido de script o pre intacto.
Convertir tablas
TextoConvierte tablas CSV, TSV y Markdown a Markdown, tablas ASCII con marco, HTML, JSON o CSV. Comillas según RFC 4180 y columnas alineadas por ancho.
Limpiar texto
TextoLimpia una columna copiada de un log o una hoja: quita duplicados, ordena, borra líneas vacías, recorta espacios y quita la numeración de línea.
Comparar texto
TextoCompara dos textos línea a línea y resalta las líneas añadidas, borradas y sin cambios, alineando cada edición por diferencia mínima. Todo local.
Contador de palabras
Texto¿Cuánto mide este texto? Cuenta por separado caracteres chinos y palabras inglesas, con caracteres, líneas, bytes UTF-8, tiempo de lectura y SMS.