Cómo hacer emails responsive sin volverte loca con tablas HTML

Crear emails responsive puede parecer una especie de castigo técnico si vienes del desarrollo web moderno. Estás acostumbrada a trabajar con flexbox, grid, componentes reutilizables, estilos organizados y layouts que responden con bastante elegancia. Pero, de repente, entras en el mundo del email marketing y todo cambia: aparecen las tablas HTML para email, los estilos inline, las limitaciones de Outlook y ese miedo constante a que algo se vea bien en Gmail pero se rompa en otro cliente de correo.

Y sí, es normal preguntarse: ¿de verdad seguimos usando tablas HTML para maquetar emails en pleno 2026? La respuesta es que sí, aunque con matices. Las tablas no se usan porque sean la opción más moderna ni la más cómoda, sino porque siguen siendo una de las formas más fiables de conseguir compatibilidad entre distintos clientes de correo.

La buena noticia es que no necesitas volverte loca escribiendo veinte niveles de tablas anidadas sin criterio. Hoy puedes crear emails responsive con tablas HTML de forma más ordenada, predecible y mantenible si entiendes qué papel cumple cada capa, qué CSS puedes usar con seguridad y cuándo conviene apoyarte en herramientas como MJML.

Si estás empezando en este tema, puede venirte bien complementar este artículo con la guía sobre qué es MJML y por qué facilita la maquetación de emails responsive, porque te ayudará a entender cómo simplificar parte del trabajo sin perder de vista lo que ocurre por debajo.

Por qué los emails responsive siguen usando tablas HTML

Cuando hablamos de tablas HTML en email, no hablamos de una recomendación estética. Hablamos de una solución práctica ante un entorno bastante irregular. El problema principal es que los clientes de correo no se comportan como los navegadores modernos. Gmail, Outlook, Apple Mail, Yahoo Mail y otros clientes interpretan el HTML y el CSS con diferencias importantes.

En una página web puedes crear un layout responsive con display: grid, display: flex, gap, clamp() o incluso container queries. En email, en cambio, muchas de esas decisiones pueden fallar o no comportarse igual en todos los entornos. Por eso las tablas siguen teniendo tanto peso: permiten crear una estructura base relativamente estable.

No son cómodas, no son bonitas y no son semánticamente ideales para maquetar diseño visual, pero ayudan a que el email mantenga su forma en clientes que todavía no interpretan CSS moderno de manera consistente.

La diferencia entre maquetar una web y maquetar un email

El error más común al empezar con emails responsive es intentar aplicar la misma mentalidad que usarías en una web. Pero un email no es una landing page. No tienes el mismo control sobre el entorno, no puedes asumir que todo el CSS será respetado y tampoco puedes depender de archivos externos como harías en un proyecto frontend tradicional.

En email, la pregunta no es solo: “¿este diseño queda bonito?”. La pregunta real es: “¿este diseño se mantiene suficientemente bien en la mayor cantidad posible de clientes de correo?”

Ese cambio de enfoque modifica por completo la forma de trabajar. En lugar de perseguir una maquetación perfecta al píxel, conviene pensar en sistemas robustos: una estructura sencilla, una anchura máxima razonable, columnas que puedan apilarse, botones legibles y una versión móvil que no obligue al usuario a hacer zoom.

No se trata de amar las tablas, sino de usarlas con estrategia

Las tablas HTML en email son una herramienta. Nada más. No hace falta defenderlas como si fueran modernas ni odiarlas como si fueran el enemigo absoluto. Lo importante es entender cuándo cumplen una función útil.

Una tabla puede servir como contenedor principal del email. Otra puede organizar una sección de dos columnas. Otra puede asegurar que un botón se vea correctamente en distintos clientes. El problema aparece cuando se usan tablas sin estructura, sin nombres de clases claros y sin una lógica de componentes.

Ahí es cuando el email se convierte en una maraña difícil de mantener. Pero si trabajas con una arquitectura clara, incluso una plantilla basada en tablas puede ser relativamente limpia.

La estructura base de un email responsive con tablas HTML

Antes de entrar en trucos responsive, necesitas una base sólida. Un buen email HTML suele tener tres niveles principales: el fondo general, el contenedor central y los bloques de contenido.

La idea más habitual es trabajar con un contenedor de unos 600 px de ancho máximo, porque históricamente ha sido una medida segura para muchas newsletters, campañas comerciales y emails informativos. Aunque hoy se pueden crear diseños más amplios, ese ancho sigue siendo una referencia práctica.

Ejemplo básico de estructura con tablas HTML

<table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr>
    <td align="center">
      <table role="presentation" width="600" cellspacing="0" cellpadding="0" border="0">
        <tr>
          <td>
            Contenido del email
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>

Este ejemplo no pretende ser una plantilla final, sino mostrar la idea: una tabla exterior ocupa el ancho completo y centra una tabla interior de anchura controlada.

El contenedor exterior

El contenedor exterior suele ocupar el 100% del ancho. Sirve para definir el fondo general del email y para centrar el contenido. Esta capa es importante porque muchos clientes de correo necesitan estructuras explícitas para respetar alineaciones y fondos.

Aquí puedes aplicar un color de fondo general, por ejemplo un gris claro, y luego colocar dentro el contenido principal sobre fondo blanco. Es una estructura sencilla, pero efectiva.

El contenedor interior

El contenedor interior es el cuerpo real del email. Normalmente se define con un ancho fijo, como 600, y se complementa con estilos que permitan cierta flexibilidad en móvil.

En emails responsive es habitual combinar atributos HTML antiguos, como width="600", con CSS inline y reglas en el bloque <style>. Puede parecer redundante, pero en email la redundancia muchas veces es una forma de defensa.

Las secciones internas

Dentro del contenedor principal puedes crear secciones: cabecera, bloque hero, texto, columnas, llamada a la acción, pie de email, etc.

La clave está en no meter todo en una única tabla gigante sin separación lógica. Aunque el HTML final use tablas, tú puedes pensar en componentes: header, hero, bloque de texto, bloque de dos columnas, botón y footer.

Esa forma de pensar te ayudará a mantener el código más limpio y a reutilizar patrones. Si además estás comparando formas de trabajar, te puede interesar el artículo sobre MJML vs HTML tradicional para emails: ventajas y limitaciones, donde se ve mejor cuándo compensa escribir HTML manual y cuándo conviene automatizar parte del proceso.

Cómo hacer que las tablas HTML funcionen en móvil

El gran reto no es crear un email con tablas. El reto es conseguir que ese email sea responsive. Para eso necesitas combinar varias técnicas: anchuras fluidas, imágenes adaptables, columnas que se apilan y media queries cuando el cliente de correo las soporte.

Lo importante es no depender de una sola técnica. Una buena plantilla de email debe seguir siendo legible incluso aunque una media query no se aplique correctamente.

Usa una estructura fluida siempre que puedas

Una estrategia bastante segura es no depender exclusivamente de una media query. Puedes definir tablas con width="100%" en determinados bloques y limitar el ancho máximo del contenedor principal.

Las imágenes deberían incluir una combinación de atributo HTML y CSS inline similar a esta:

<img src="imagen.jpg" width="600" style="display:block; width:100%; max-width:600px; height:auto;" alt="Descripción de la imagen">

Esto permite que la imagen se reduzca en pantallas pequeñas sin deformarse. El atributo width ayuda a algunos clientes de correo, mientras que el CSS aporta flexibilidad.

Apila columnas en pantallas pequeñas

Uno de los patrones más habituales en emails responsive es el bloque de dos columnas. En escritorio puedes mostrar imagen y texto lado a lado. En móvil, lo más cómodo es apilar ambos elementos.

Con tablas HTML, esto suele hacerse creando dos celdas o dos tablas internas que, mediante clases y media queries, pasan a ocupar el 100% del ancho en móvil.

@media only screen and (max-width: 600px) {
  .column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

Este tipo de regla permite que una estructura pensada para escritorio se adapte mejor a pantallas pequeñas. Aun así, conviene diseñar siempre con una base sencilla. Si el email solo funciona cuando todo el CSS se aplica perfectamente, probablemente sea demasiado frágil.

No dependas de una única solución responsive

Una buena plantilla de email responsive no debería romperse si una media query falla. Este es uno de los cambios de mentalidad más importantes respecto al desarrollo web tradicional.

En web solemos confiar bastante en CSS. En email, conviene diseñar para la imperfección. Eso significa que el diseño base debe ser legible incluso antes de aplicar mejoras responsive.

Si tu versión sin media queries ya es aceptable, las media queries se convierten en una mejora progresiva, no en una condición de supervivencia.

CSS en emails responsive: lo justo, lo compatible y lo necesario

El CSS en email merece un capítulo aparte. Aquí no se trata de escribir menos CSS porque sí, sino de escribir el CSS que realmente aporta valor y tiene posibilidades razonables de funcionar.

Muchas propiedades modernas pueden ser útiles en determinados clientes, pero no todas son fiables para construir la estructura principal de un email. Por eso conviene trabajar con un criterio muy claro: usar CSS moderno solo cuando haya fallback o cuando el fallo no comprometa la lectura del contenido.

Para profundizar en este punto, puedes leer también qué partes de CSS funcionan realmente en email marketing, donde se explica qué propiedades conviene usar con más prudencia.

Estilos inline: incómodos, pero necesarios

Los estilos inline siguen siendo habituales porque muchos clientes de correo los respetan mejor que los estilos externos. Esto hace que el código sea más verboso, pero también más resistente.

<td style="font-family: Arial, sans-serif; font-size:16px; line-height:24px; color:#222222;">
  Texto del email
</td>

¿Es elegante? No demasiado. ¿Es práctico? Sí.

Una forma de no volverte loca es no escribir todo a mano en producción. Puedes trabajar con herramientas que automaticen el CSS inline o con frameworks que generen el HTML final.

Media queries: útiles, pero con fallback

Las media queries son muy útiles para ajustar tamaños de fuente, apilar columnas, modificar paddings o centrar elementos en móvil. Pero no conviene usarlas como única garantía.

Un uso razonable sería:

@media only screen and (max-width: 600px) {
  .mobile-padding {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .mobile-center {
    text-align: center !important;
  }

  .fluid {
    width: 100% !important;
    max-width: 100% !important;
  }
}

El uso de !important es bastante común en email porque las reglas inline pueden tener más peso que las reglas declaradas en el bloque <style>. No es una práctica que trasladaríamos alegremente a una web moderna, pero en email responde a una necesidad real.

Evita CSS demasiado moderno si no tienes alternativa

Puedes usar CSS moderno en algunos contextos, pero siempre con cuidado. Flexbox, grid, variables CSS, filtros, posicionamiento complejo o animaciones pueden funcionar en algunos clientes y fallar en otros.

Si decides usarlos, que sea como mejora progresiva, no como base estructural. Para layouts principales, las tablas siguen siendo más fiables. Para detalles visuales secundarios, puedes experimentar un poco más.

Accesibilidad en emails con tablas HTML

Uno de los puntos más importantes, y a veces olvidados, es la accesibilidad. Si usas tablas para maquetar, debes evitar que los lectores de pantalla interpreten esas tablas como datos tabulares.

Para eso se utiliza role="presentation" en las tablas que cumplen una función puramente visual.

Cuándo usar role=»presentation»

Si una tabla solo sirve para colocar una imagen junto a un texto, centrar un botón o estructurar el layout del email, puedes usar:

<table role="presentation" cellspacing="0" cellpadding="0" border="0">

Esto ayuda a que la experiencia sea más limpia para personas que usan tecnologías de asistencia.

Cuándo no usarlo

Si la tabla contiene datos reales, como precios, horarios, comparativas o resultados, entonces no deberías usar role="presentation". En ese caso, la tabla sí tiene significado semántico y debe conservarlo.

La diferencia es sencilla: si la tabla organiza diseño, es presentación. Si la tabla organiza datos, es contenido.

No olvides el texto alternativo

Las imágenes en emails suelen tener mucho peso visual, pero no siempre cargan por defecto. Por eso el atributo alt es fundamental.

Un buen texto alternativo debe describir la función de la imagen, no rellenarse con palabras clave sin sentido.

<img src="newsletter-responsive.jpg" alt="Ilustración de una newsletter responsive adaptándose a móvil">

El SEO importa, pero la accesibilidad y la claridad también. Una imagen puede reforzar la comprensión del mensaje, pero el contenido esencial debería seguir siendo accesible aunque esa imagen no cargue.

Cómo simplificar el trabajo con MJML

Si tu objetivo es crear emails responsive sin pelearte constantemente con tablas HTML, MJML puede ser una gran ayuda. MJML permite escribir emails con una sintaxis más sencilla y después compilar ese código a HTML compatible con clientes de correo.

La idea es trabajar con etiquetas como <mj-section>, <mj-column>, <mj-text> o <mj-image>, en lugar de escribir manualmente toda la estructura de tablas.

Qué problema resuelve MJML

MJML no elimina las tablas del resultado final. Lo que hace es evitar que tengas que escribirlas tú manualmente en cada plantilla.

Por ejemplo, en lugar de construir una sección de dos columnas con varias tablas anidadas, puedes escribir algo más parecido a esto:

<mj-section>
  <mj-column>
    <mj-image src="imagen.jpg" alt="Imagen descriptiva" />
  </mj-column>
  <mj-column>
    <mj-text>
      Texto del email
    </mj-text>
  </mj-column>
</mj-section>

Después, MJML genera el HTML final con las tablas, estilos y ajustes necesarios.

Si quieres verlo desde un enfoque más práctico, puedes continuar con la guía sobre cómo crear tu primera newsletter responsive con MJML, donde el proceso se entiende mejor paso a paso.

Cuándo te conviene usar MJML

MJML es especialmente útil si vas a crear varias newsletters, plantillas transaccionales o campañas con estructuras repetidas. También es una buena opción si quieres mantener una lógica de componentes y evitar que cada email se convierta en un archivo imposible de leer.

No obstante, sigue siendo importante entender cómo funcionan las tablas HTML en email. Aunque uses MJML, tarde o temprano tendrás que revisar el HTML generado, corregir un comportamiento concreto o adaptar una sección a las limitaciones de un cliente de correo.

Buenas prácticas para no volverte loca con tablas HTML en email

La mejor forma de sobrevivir al desarrollo de emails responsive con tablas HTML es trabajar con método. No improvises cada plantilla desde cero.

Crea una plantilla base reutilizable

Ten una estructura inicial con contenedor exterior, contenedor central, header, bloque de contenido, botón, footer, clases responsive básicas y estilos de texto definidos.

Esto te permitirá empezar cada email desde una base probada, no desde una página en blanco. Además, te ayudará a detectar antes los errores, porque sabrás qué partes de la plantilla ya funcionan correctamente.

Trabaja por bloques, no por pantallas completas

En lugar de pensar “voy a maquetar todo el email”, piensa en bloques independientes: bloque hero, bloque texto más imagen, bloque CTA, bloque testimonios, bloque de producto o bloque footer.

Cada bloque debería poder moverse, duplicarse o eliminarse sin romper toda la plantilla. Esta forma de trabajar se parece más a una lógica de componentes, aunque el resultado final esté construido con tablas.

Prueba antes de enviar

No basta con abrir el HTML en el navegador. Un email puede verse perfecto en Chrome y fallar en Outlook. Siempre que sea posible, prueba en distintos clientes o utiliza herramientas específicas de testing.

Como mínimo, revisa Gmail en escritorio, Gmail en móvil, Apple Mail, Outlook, modo oscuro, imágenes bloqueadas y vista móvil real.

Reduce la ambición visual

Un email no necesita comportarse como una web completa. A veces, cuanto más complejo es el diseño, más posibilidades hay de que algo falle.

En email marketing, la claridad suele ganar a la sofisticación. Un buen email responsive debe ser legible, rápido de escanear, accesible y fácil de accionar. Si además es bonito, mejor. Pero la belleza no debería depender de una estructura frágil.

Errores comunes al crear emails responsive con tablas HTML

Uno de los errores más frecuentes es usar demasiadas columnas. Un diseño de tres o cuatro columnas puede verse bien en escritorio, pero convertirse en un problema en móvil. Si el contenido es importante, asegúrate de que se pueda leer cómodamente en una sola columna.

Otro error habitual es olvidar los paddings móviles. Un email que se ve perfecto en escritorio puede quedar pegado a los bordes en móvil si no defines espaciados adaptados.

También conviene evitar imágenes con texto incrustado. Si el texto importante está dentro de una imagen, puede no ser accesible, no escalar bien o perderse si la imagen no carga.

Y, por último, cuidado con los botones falsos hechos solo con imágenes. Un botón debería ser texto HTML dentro de una estructura clicable, no una imagen que desaparece si el cliente bloquea recursos externos.

Preguntas frecuentes sobre tablas HTML y emails responsive

¿Es obligatorio usar tablas HTML para crear emails responsive?

No es obligatorio en todos los casos, pero sí sigue siendo una de las opciones más compatibles para estructuras principales. Puedes apoyarte en CSS moderno como mejora progresiva, pero para layouts robustos las tablas HTML siguen siendo muy utilizadas en email.

¿Puedo usar flexbox o grid en emails HTML?

Puedes usarlos en algunos contextos, pero no deberías depender de ellos para la estructura principal si necesitas compatibilidad amplia. El soporte de flexbox y grid en clientes de correo no es tan consistente como en navegadores modernos, así que conviene usarlos solo con fallback o en elementos secundarios.

¿MJML evita tener que aprender tablas HTML para email?

MJML reduce muchísimo la necesidad de escribir tablas manualmente, pero no elimina la conveniencia de entenderlas. Es una herramienta muy útil para crear emails responsive de forma más cómoda, aunque el HTML final seguirá usando estructuras compatibles con clientes de correo.

Emails más simples, menos quebraderos de cabeza

Hacer emails responsive con tablas HTML no tiene por qué convertirse en una pesadilla. Es verdad que el desarrollo de emails tiene reglas propias, limitaciones incómodas y decisiones que pueden parecer anticuadas si vienes del desarrollo web moderno. Pero también es cierto que, con una buena estructura base, algunos patrones reutilizables y una mentalidad de compatibilidad, el proceso se vuelve mucho más llevadero.

La clave está en dejar de pelearte con las tablas como si fueran una anomalía y empezar a verlas como una capa de compatibilidad. No necesitas escribir el email más sofisticado del mundo. Necesitas crear una pieza que se lea bien, se adapte al móvil, respete la accesibilidad y funcione en los clientes de correo más importantes.

En email, menos suele ser más. Menos columnas, menos dependencias, menos CSS experimental y menos obsesión por el píxel perfecto. A cambio, más claridad, más consistencia y más tranquilidad.

Porque al final, un buen email responsive no es el que demuestra todo lo que sabes de CSS moderno. Es el que llega, se entiende, se lee cómodamente y consigue que la persona haga lo que tiene que hacer sin obstáculos. Y si para eso hay que usar tablas HTML, que al menos sean tablas bien pensadas.

Qué es MJML y por qué facilita la maquetación de emails responsive

Ilustración sobre qué es MJML con un portátil mostrando código MJML y vista previa de un email responsive en móvil.
MJML permite escribir código más limpio y generar emails responsive compatibles con distintos dispositivos.

Maquetar un email responsive puede parecer, al principio, una tarea parecida a crear una pequeña página web: tienes una estructura, imágenes, textos, botones, enlaces y una serie de estilos visuales que quieres respetar. Sin embargo, cuando empiezas a llevar ese diseño a código, aparece una realidad bastante incómoda: el email no funciona igual que la web.

En una página web moderna puedes apoyarte en CSS Grid, Flexbox, hojas de estilo externas, JavaScript, componentes reutilizables y un soporte bastante estable entre navegadores. En cambio, en la maquetación de emails, cada cliente de correo interpreta el HTML y el CSS a su manera. Gmail, Outlook, Apple Mail, Yahoo, Thunderbird o las apps móviles pueden comportarse de forma diferente ante el mismo código.

Aquí es donde entra en juego MJML, una herramienta pensada para simplificar la creación de emails responsive sin tener que pelearte línea por línea con todas las rarezas del HTML para email.

Dicho de forma sencilla: MJML te permite escribir una estructura más limpia, semántica y legible, y después la convierte en el HTML complejo que necesitan muchos clientes de correo.

Qué es MJML

MJML significa Mailjet Markup Language. Es un lenguaje de marcado específico para crear emails responsive de forma más sencilla. No sustituye al HTML en el resultado final, sino que actúa como una capa intermedia.

Tú escribes una estructura más clara, como esta:

<mjml>
  <mj-body>
    <mj-section>
      <mj-column>
        <mj-text>
          Hola, este es mi primer email responsive con MJML.
        </mj-text>
        <mj-button href="https://martagonzalez.dev">
          Leer más
        </mj-button>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>

Después, MJML compila ese código y lo transforma en un HTML mucho más extenso, con tablas, estilos inline, estructuras específicas y ajustes necesarios para que el email se visualice correctamente en diferentes clientes de correo.

La gran ventaja es que no tienes que escribir todo ese HTML manualmente. MJML se encarga de generar buena parte de la estructura técnica que normalmente hace que la maquetación de emails sea lenta, repetitiva y propensa a errores.

MJML no es HTML tradicional

Aunque visualmente se parece a HTML porque utiliza etiquetas, MJML tiene sus propios componentes: mj-section, mj-column, mj-text, mj-image, mj-button, mj-divider, mj-wrapper, entre muchos otros.

Estas etiquetas están pensadas para describir la intención del diseño:

  • mj-section define una sección horizontal del email.
  • mj-column permite dividir una sección en columnas.
  • mj-text añade texto.
  • mj-image inserta imágenes.
  • mj-button crea botones compatibles con email.
  • mj-spacer añade separación vertical.

La idea se parece bastante al trabajo por componentes que usamos habitualmente en desarrollo frontend. Si te interesa este enfoque más estructurado, también puedes profundizar en cómo organizar mejor tus flujos de trabajo con herramientas como Visual Studio Code en el artículo Atajos y trucos para usar Visual Studio Code desde la terminal en Mac.

Por qué maquetar emails responsive es tan complicado

Para entender por qué MJML resulta tan útil, primero conviene comprender el problema que intenta resolver.

La maquetación de emails no sigue las mismas reglas que el desarrollo web moderno. En web, si quieres crear un layout responsive, puedes usar media queries, unidades flexibles, CSS Grid, Flexbox, variables CSS, imágenes adaptativas y componentes reutilizables. En email, muchas de esas herramientas tienen soporte limitado, parcial o directamente inconsistente.

Por eso, un email puede verse perfecto en un cliente de correo y romperse en otro.

El problema de los clientes de correo

Cuando maquetas una web, sueles pensar en navegadores: Chrome, Firefox, Safari o Edge. Aunque cada uno tiene sus particularidades, el soporte de estándares web suele ser razonablemente estable.

En email, el escenario es más complejo. Un mismo correo puede abrirse en Gmail desde navegador, Gmail en Android, Gmail en iOS, Outlook de escritorio, Outlook web, Apple Mail, Yahoo Mail, Thunderbird o incluso clientes corporativos antiguos.

Cada uno puede aplicar reglas distintas. Algunos respetan determinadas propiedades CSS. Otros las ignoran. Algunos eliminan partes del <head>. Otros gestionan las media queries de forma parcial.

Esto obliga a trabajar con mucho más cuidado. No basta con que el diseño se vea bien en una previsualización inicial: también hay que comprobar que la experiencia se mantiene de forma razonable en distintos dispositivos y clientes de correo.

El regreso de las tablas

Una de las cosas que más sorprende cuando vienes del desarrollo web es descubrir que muchos emails todavía se maquetan con tablas.

Sí, tablas.

No porque sean modernas, elegantes o semánticamente ideales, sino porque siguen siendo una de las formas más estables de conseguir layouts compatibles en clientes de correo. Especialmente cuando Outlook entra en escena, las tablas continúan siendo una herramienta habitual para controlar estructuras, anchos, alineaciones y columnas.

Esto hace que el HTML final de un email pueda ser bastante difícil de leer. Incluso un diseño aparentemente sencillo, con una cabecera, una imagen, un bloque de texto y un botón, puede convertirse en muchas líneas de código repetitivo.

Aquí MJML aporta una ventaja clara: te permite escribir con una sintaxis más limpia mientras genera por debajo el HTML necesario para email.

Cómo funciona MJML en la práctica

MJML funciona mediante un proceso de compilación. Tú creas un archivo .mjml, escribes tu estructura con componentes MJML y después generas el HTML final.

Ese HTML es el que puedes utilizar en una plataforma de email marketing, integrar en un sistema transaccional o adaptar a una plantilla concreta.

Estructura básica de un email con MJML

Un documento MJML suele tener esta estructura:

<mjml>
  <mj-head>
    <mj-title>Email de ejemplo</mj-title>
    <mj-preview>Texto de previsualización del email</mj-preview>
  </mj-head>

  <mj-body>
    <mj-section>
      <mj-column>
        <mj-text>
          Contenido principal del email.
        </mj-text>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>

La parte mj-head permite definir información general, como el título, el texto de previsualización, estilos globales o atributos reutilizables. La parte mj-body contiene el contenido visual del email.

Esta separación ayuda a trabajar de forma más ordenada, sobre todo cuando la plantilla empieza a crecer.

Un ejemplo sencillo de layout responsive

Imagina una newsletter con dos columnas: a la izquierda una imagen y a la derecha un texto con un botón.

En HTML tradicional para email, esto puede implicar tablas anidadas, anchos concretos, estilos inline y condiciones específicas para Outlook. En MJML, la estructura podría verse así:

<mj-section background-color="#F8E0EA" padding="32px">
  <mj-column>
    <mj-image src="imagen.jpg" alt="Ejemplo de email responsive" />
  </mj-column>

  <mj-column>
    <mj-text font-size="20px" font-weight="bold">
      Aprende a crear emails responsive
    </mj-text>

    <mj-text font-size="16px" line-height="1.6">
      Con MJML puedes crear campañas más consistentes sin escribir todo el HTML manualmente.
    </mj-text>

    <mj-button href="https://martagonzalez.dev" background-color="#CC2B5E">
      Leer el artículo
    </mj-button>
  </mj-column>
</mj-section>

En escritorio, esas columnas pueden mostrarse una al lado de la otra. En móvil, MJML puede apilarlas para mejorar la lectura. Esta es una de las razones por las que resulta tan interesante para crear emails responsive sin empezar desde cero cada vez.

Ventajas de utilizar MJML

MJML no elimina por completo la necesidad de entender cómo funciona el email HTML, pero sí reduce mucho la fricción inicial. Para proyectos donde se envían newsletters, campañas promocionales, emails transaccionales o comunicaciones periódicas, puede ahorrar tiempo y mejorar la consistencia.

1. Sintaxis más legible

La primera gran ventaja de MJML es su legibilidad.

Un email escrito directamente en HTML puede volverse enorme muy rápido. Si además tienes que añadir estilos inline, tablas, condicionales y estructuras de compatibilidad, el código deja de ser cómodo de mantener.

MJML permite trabajar con una estructura más declarativa:

<mj-button href="#">Comprar ahora</mj-button>

En lugar de tener que escribir manualmente toda la estructura de tablas y estilos necesaria para que ese botón se comporte razonablemente bien en diferentes clientes de correo.

2. Facilita la creación de emails responsive

El objetivo principal de MJML es ayudar a crear emails responsive. Es decir, emails que se adapten mejor a distintos tamaños de pantalla.

Esto es fundamental porque muchas personas leen el correo desde el móvil. Si el email tiene texto demasiado pequeño, columnas que no se adaptan, botones difíciles de pulsar o imágenes que desbordan el ancho de pantalla, la experiencia empeora.

Este punto conecta directamente con la usabilidad. Un email no solo debe verse bien: debe entenderse rápido, facilitar la lectura y guiar hacia una acción clara. Si quieres profundizar en este enfoque, puedes leer también Qué es la usabilidad web: claves para facilitar la navegación de usuario.

3. Reduce errores repetitivos

Cuando maquetas emails a mano, hay muchos pequeños detalles que pueden fallar:

  • Un ancho mal calculado.
  • Un padding que Outlook interpreta de forma diferente.
  • Una imagen sin ancho definido.
  • Un botón que no se centra.
  • Un bloque que se rompe en móvil.
  • Una media query que no se aplica donde esperabas.

MJML no garantiza perfección absoluta en todos los clientes, pero sí ayuda a evitar muchos errores comunes porque parte de componentes ya pensados para email.

4. Mejora la reutilización de plantillas

Otra ventaja importante es que puedes crear bloques reutilizables.

Por ejemplo, puedes tener una estructura base para newsletters con cabecera, hero principal, bloque de contenido, llamada a la acción, artículos destacados y footer. A partir de ahí, solo cambias textos, imágenes, enlaces y colores.

Esto resulta especialmente útil si trabajas con campañas frecuentes o si necesitas mantener una identidad visual coherente.

5. Es más amable para quien viene del desarrollo frontend

Si ya tienes experiencia con HTML y CSS, MJML resulta bastante intuitivo. No tienes que aprender una lógica completamente ajena, sino una sintaxis específica orientada al email.

Para una persona acostumbrada a componentes, secciones, columnas y atributos de estilo, MJML se siente más cercano que escribir tablas anidadas manualmente.

Además, te permite seguir pensando en estructura, jerarquía y experiencia de usuario, algo esencial tanto en páginas web como en emails.

Limitaciones de MJML que conviene conocer

Aunque MJML facilita mucho el trabajo, no conviene presentarlo como una solución mágica. Sigue habiendo límites.

MJML no elimina la necesidad de testear

Un email debería probarse antes de enviarse. Especialmente si forma parte de una campaña importante, un flujo de venta, un lanzamiento o una comunicación transaccional.

Aunque MJML genere HTML responsive, los clientes de correo siguen teniendo diferencias. Por eso, después de compilar tu MJML a HTML, sigue siendo recomendable probar el resultado en distintos entornos.

El objetivo realista no es que el email se vea exactamente igual en todas partes. El objetivo es que sea legible, funcional y coherente en los clientes principales para tu audiencia.

No todo lo que haces en web sirve en email

Este punto es clave.

MJML facilita la maquetación, pero el medio sigue siendo el email. Eso significa que no deberías plantear un email como si fuera una landing page moderna con animaciones complejas, JavaScript, layouts avanzados o interacciones sofisticadas.

En email conviene priorizar la claridad, la compatibilidad, el contraste, el peso razonable, los botones fáciles de pulsar y una jerarquía visual muy clara.

También es importante pensar en accesibilidad. Un email debería tener textos legibles, enlaces comprensibles, buen contraste y alternativas para las imágenes. Si este tema te interesa, puedes ampliar con el artículo La importancia de la accesibilidad web: haciendo Internet accesible para todos.

Puede generar HTML extenso

El HTML resultante de MJML puede ser bastante largo. Esto es normal, porque está generando estructuras compatibles con email.

No deberías valorar MJML por si el HTML final es bonito de leer, sino por si el archivo fuente MJML es mantenible y si el resultado renderiza correctamente.

La ventaja está en trabajar sobre una fuente más limpia y delegar en MJML la parte más repetitiva del marcado final.

MJML frente a maquetar emails a mano

La pregunta lógica es: ¿merece la pena usar MJML o es mejor aprender a maquetar emails directamente con HTML y CSS?

La respuesta depende del contexto.

Si estás aprendiendo desde cero cómo funciona el email HTML, puede ser útil entender las bases: tablas, estilos inline, imágenes, anchos, media queries, compatibilidad y limitaciones. Ese conocimiento te ayudará incluso cuando uses MJML.

Pero si necesitas producir emails responsive de forma eficiente, MJML puede ser una opción muy práctica.

Cuándo tiene sentido usar MJML

MJML tiene mucho sentido cuando necesitas crear newsletters recurrentes, mantener una plantilla base, trabajar con emails transaccionales, reducir errores de compatibilidad o entregar HTML final para una plataforma de email marketing.

También es una buena opción si estás creando un sistema interno de plantillas o si quieres documentar componentes visuales de email para reutilizarlos.

En proyectos donde el contenido se repite con frecuencia, trabajar con una estructura base puede ahorrarte mucho tiempo y ayudarte a mantener una identidad visual más consistente.

Cuándo quizá no necesitas MJML

Puede que no lo necesites si solo vas a crear un email muy puntual y extremadamente simple, o si ya utilizas un editor visual dentro de una plataforma de email marketing y no necesitas tocar código.

También puede no ser ideal si tu equipo ya tiene un sistema propio de plantillas HTML muy probado y mantenido.

Aun así, incluso en esos casos, MJML puede servir para prototipar más rápido y entender mejor la estructura de una plantilla responsive.

Buenas prácticas para crear emails responsive con MJML

Usar MJML no significa olvidarse de las buenas prácticas. Al contrario: cuanto mejor entiendas el diseño para email, mejores resultados obtendrás.

Diseña primero para la lectura

Un email no se consume igual que una página de blog. La persona suele revisarlo rápido, muchas veces desde el móvil y en medio de otras tareas.

Por eso, antes de pensar en efectos visuales, conviene hacerse algunas preguntas:

  • ¿Se entiende el mensaje principal en pocos segundos?
  • ¿El título es claro?
  • ¿El botón principal destaca?
  • ¿El texto se puede leer cómodamente?
  • ¿La imagen aporta información o solo decora?
  • ¿El email tiene una única acción principal?

Un buen email responsive no es solo el que se adapta al ancho de pantalla. Es el que reduce la carga cognitiva y ayuda a tomar una decisión sin esfuerzo.

Esta idea también se puede aplicar al diseño web en general. Por eso, si estás trabajando contenidos, interfaces o landings, puede resultarte útil leer Por qué diseñar primero lo esencial mejora la experiencia de usuario.

Mantén una estructura sencilla

En MJML es fácil crear secciones, columnas y bloques. Pero no conviene abusar.

Para muchos emails, una estructura sencilla funciona mejor:

  • Logo o cabecera.
  • Título principal.
  • Texto introductorio.
  • Imagen o bloque destacado.
  • CTA principal.
  • Contenido secundario.
  • Footer.

Cuantas más columnas, variaciones y bloques añadas, más posibilidades hay de que algo se complique en clientes de correo concretos.

Cuida los botones y los enlaces

Los botones son uno de los elementos más importantes en un email. Si quieres que la persona lea un artículo, confirme una cuenta, compre un producto o descargue un recurso, el CTA debe ser claro.

Con MJML puedes usar mj-button, pero deberías prestar atención al texto, al contraste, al tamaño en móvil, al espaciado alrededor y al enlace final.

Un botón que dice “Leer más” puede funcionar, pero uno que dice “Leer la guía completa” aporta más contexto. Lo mismo ocurre con los enlaces dentro del texto: es mejor usar textos descriptivos que fórmulas genéricas. Sobre este tema, te recomiendo revisar Links accesibles: “haz click aquí” es un crimen.

No dependas solo de las imágenes

Muchos clientes de correo pueden bloquear imágenes por defecto o cargarlas con retraso. Por eso, el mensaje principal no debería depender exclusivamente de una imagen.

Incluye siempre texto real, no solo texto dentro de imágenes. Añade atributos alt descriptivos y asegúrate de que el email sigue teniendo sentido aunque las imágenes no se muestren.

Revisa el peso y la longitud

Un email demasiado pesado puede cargar lento o incluso recortarse en algunos clientes. Aunque MJML facilite la estructura, debes seguir cuidando el contenido final.

Comprime imágenes, evita bloques innecesarios, no añadas estilos excesivos y mantén el mensaje enfocado. En email, menos suele ser más.

MJML en español: por qué puede ser una buena puerta de entrada

Si estás buscando información sobre MJML en español, probablemente vienes de uno de estos escenarios: quieres aprender a crear emails responsive desde cero, te has cansado de pelearte con tablas HTML, necesitas adaptar diseños de newsletter a código o trabajas con marketing, frontend o automatizaciones.

MJML puede ser una muy buena puerta de entrada porque te permite entender la lógica de la maquetación de emails sin empezar directamente por el lado más áspero.

En lugar de escribir una estructura enorme de tablas desde el minuto uno, puedes empezar con componentes comprensibles. Después, poco a poco, puedes ir revisando el HTML compilado para entender qué está generando MJML por debajo.

Este enfoque es especialmente útil si ya tienes base de HTML y CSS, pero todavía no has trabajado en profundidad con email HTML.

Ejemplo de plantilla básica con MJML

A continuación tienes una estructura sencilla para una newsletter introductoria:

<mjml>
  <mj-head>
    <mj-title>Newsletter responsive con MJML</mj-title>
    <mj-preview>Aprende a crear emails responsive de forma más sencilla.</mj-preview>
    <mj-attributes>
      <mj-all font-family="Arial, sans-serif" />
      <mj-text font-size="16px" line-height="1.6" color="#020101" />
      <mj-button background-color="#CC2B5E" color="#ffffff" border-radius="6px" />
    </mj-attributes>
  </mj-head>

  <mj-body background-color="#F5F5F5">
    <mj-section background-color="#ffffff" padding="32px">
      <mj-column>
        <mj-text font-size="24px" font-weight="bold">
          Qué es MJML y por qué deberías conocerlo
        </mj-text>

        <mj-text>
          MJML facilita la creación de emails responsive mediante una sintaxis más clara y componentes pensados para email.
        </mj-text>

        <mj-button href="https://martagonzalez.dev">
          Leer artículo completo
        </mj-button>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>

Esta plantilla es básica, pero muestra la idea principal: defines una estructura clara, aplicas algunos estilos globales y trabajas con componentes específicos para email.

Errores comunes al empezar con MJML

Aunque MJML sea más amable que el HTML para email escrito a mano, hay algunos errores frecuentes que conviene evitar.

Creer que todo será idéntico en todos los clientes

La consistencia absoluta en email es difícil. La consistencia funcional, en cambio, sí es una meta razonable.

Tu email no tiene que verse milimétricamente igual en todos los clientes, pero sí debe ser comprensible, legible y funcional en los entornos principales.

Diseñar emails demasiado complejos

A veces se intenta llevar al email una lógica visual propia de una web completa. Eso puede generar problemas.

Un email debería tener una jerarquía clara y un objetivo concreto. Si necesitas explicar muchas cosas, quizá lo mejor sea llevar a la persona a una landing o a un artículo, no meterlo todo dentro del correo.

No revisar el HTML final

Aunque trabajes en MJML, el resultado final será HTML. Conviene revisarlo, probarlo y asegurarse de que se integra bien con la herramienta desde la que vas a enviar el email.

Algunas plataformas pueden modificar el código, añadir etiquetas propias o interpretar ciertos estilos de forma particular.

Preguntas frecuentes sobre MJML

¿Qué es MJML?

MJML es un lenguaje de marcado creado para facilitar la creación de emails responsive. Permite escribir una estructura más limpia mediante componentes como mj-section, mj-column, mj-text, mj-image o mj-button, y después compilar ese código a HTML compatible con email.

¿MJML sirve para crear emails responsive?

Sí. De hecho, ese es uno de sus principales objetivos. MJML ayuda a crear estructuras que se adaptan mejor a distintos tamaños de pantalla, especialmente mediante secciones y columnas que pueden reorganizarse en móvil.

¿Necesito saber HTML y CSS para usar MJML?

No necesitas ser experta en email HTML para empezar, pero sí es recomendable conocer las bases de HTML y CSS. MJML simplifica mucho la maquetación, pero entender conceptos como estructura, jerarquía, estilos, imágenes, enlaces y responsive design te ayudará a crear mejores emails.

MJML no hace magia, pero sí reduce mucho la fricción

MJML no convierte la maquetación de emails en algo perfecto ni elimina todas las peculiaridades de los clientes de correo. El email sigue siendo un entorno complejo, con reglas propias y muchas diferencias respecto al desarrollo web moderno.

Pero precisamente por eso MJML resulta tan valioso.

En lugar de obligarte a escribir desde cero estructuras largas, repetitivas y difíciles de mantener, te permite trabajar con una sintaxis más clara y orientada a componentes. Esto reduce errores, acelera el desarrollo y hace que crear emails responsive sea una tarea más accesible.

Si estás empezando con la maquetación de emails, MJML puede ser una excelente herramienta para entender cómo se estructuran las plantillas, cómo se organizan las columnas y cómo se prepara un email para verse correctamente en distintos dispositivos.

La clave está en usarlo con criterio: estructura sencilla, buen contenido, diseño claro, pruebas reales y una mentalidad adaptada al medio. Porque un buen email no es el más complejo, sino el que llega, se entiende y funciona.