Generador de Tablas de Precios CSS

Siguiente

La tabla de precios es el espacio más valioso de cualquier página de marketing: tiene que ser clara, fácil de leer de un vistazo y dirigir al visitante hacia el plan que la empresa quiere venderle. Este generador construye una tarjeta de precios en HTML + CSS, con el nombre del plan, el precio y un color de acento para el precio y el botón de llamada a la acción. Combina varias tarjetas lado a lado para crear una tabla de precios completa y copia el código en tu landing page.

Cómo construir una tabla de precios

  1. 1

    Introduce el nombre del plan

    El título del plan en la parte superior de la tarjeta, por ejemplo "Pro".

  2. 2

    Establece el precio

    El precio en letra grande, por ejemplo "$29". El sufijo "/mo" se añade automáticamente.

  3. 3

    Elige un color de acento

    Se usa para el texto del precio y el botón de llamada a la acción. Elige un color que combine con tu marca.

  4. 4

    Copia el código

    La tarjeta incluye una lista de características y un botón de llamada a la acción, además de su propio bloque <style>. Edita los elementos directamente en el código.

  5. 5

    Repite para más planes

    Para una tabla de precios completa, duplica la tarjeta de cada plan y colócalas en una cuadrícula.

Estructura básica

<section class="pricing">
  <article class="plan">
    <h3>Inicio</h3>
    <p class="price">9 € <span>/mes</span></p>
    <p class="tagline">Para proyectos en solitario.</p>
    <ul class="features">
      <li>3 proyectos</li>
      <li>10 GB de almacenamiento</li>
      <li>Soporte comunitario</li>
    </ul>
    <a class="cta" href="#">Comienza gratis</a>
  </article>

  <article class="plan featured">
    <span class="badge">Más popular</span>
    <h3>Pro</h3>
    <p class="price">29 € <span>/mes</span></p>
    <!-- ... -->
  </article>

  <article class="plan">
    <h3>Equipo</h3>
    <!-- ... -->
  </article>
</section>

Rejilla responsiva de tres columnas

.pricing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}

.plan {
  padding: 2rem 1.5rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
}

.plan.featured {
  border: 2px solid #2563eb;
  position: relative;
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(37, 99, 235, 0.15);
}

auto-fit + minmax(240px, 1fr) proporciona un diseño de tres columnas en escritorio y una pila de una sola columna en móvil, sin necesidad de configurar nada más.

El plan destacado

Señales visuales que atraen la atención:

  • Borde de color en el color de acento de la marca.
  • Tarjeta ligeramente elevada con un margin-top negativo o translateY(-4px).
  • Botón CTA más grande, normalmente relleno con el color de marca, mientras que el resto de planes usan un botón solo con contorno.
  • Insignia (“Más popular”, “La mejor relación calidad-precio”) posicionada de forma absoluta en la parte superior de la tarjeta.
  • Tarjeta más alta para atraer la vista, aunque eso dificulta comparar los planes entre sí.

No las apliques todas a la vez: elige dos o tres. Demasiadas señales acaban aplanando la jerarquía en lugar de crearla.

Alternador mensual / anual

<div class="billing-toggle">
  <button data-active="true">Mensual</button>
  <button>Anual · Ahorra 20%</button>
</div>

El selector suele intercambiar los precios con un poco de JavaScript, o aprovecha el estado :checked de un botón de tipo radio. Muestra el porcentaje de descuento o el ahorro en euros dentro de la etiqueta del selector (por ejemplo, “Anual · Ahorra 20%”): en muchas tablas es el elemento más persuasivo de todos.

Estilo de las filas de características

.features {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.features li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.features li.yes::before {
  content: "";
  width: 16px; height: 16px;
  background: url(...check.svg);
}
.features li.no {
  color: #9ca3af;
  text-decoration: line-through;
}

Usa una marca de verificación para lo que está “incluido” y texto en gris o una cruz suave para lo “no incluido”. Nunca taches el texto sin bajar además el contraste: un tachado marcado se lee como énfasis, no como una carencia.

Mantén el CTA bien visible

Un CTA por plan, visualmente coherente en todos ellos. Usar un texto distinto en cada plan (“Empieza gratis”, “Pásate a Pro”, “Habla con ventas”) está bien y, de hecho, ayuda a llevar al usuario al flujo adecuado.

Haz que sea fácil de leer en diagonal

Los usuarios rara vez leen una tabla de precios de izquierda a derecha: primero repasan los precios, luego los CTA y solo al final las diferencias entre características. Optimiza para ese recorrido:

  1. Nombre del plan y precio en grande, en la parte superior de la tarjeta.
  2. CTA visible sin necesidad de hacer scroll dentro de la tarjeta.
  3. Lista de características debajo. Resalta las diferencias entre planes en lugar de repetir las mismas características en todas las columnas.

Lista de comprobación de accesibilidad

  • Cada plan es un <article> independiente con su propio <h3>.
  • La insignia “Más popular” es una etiqueta de texto visible, no solo un color (por los usuarios con daltonismo).
  • Los botones CTA llevan texto descriptivo (“Empezar la prueba de Pro”) en lugar de “Haz clic aquí”.
  • El selector de facturación usa aria-pressed o la semántica de los botones de tipo radio.
  • Si el cambio de precio se implementa con JavaScript, anúncialo mediante aria-live="polite".

Preguntas frecuentes

Tres es el estándar del marketing: se lee de un vistazo y destaca con claridad la opción intermedia. Cuatro tiene sentido cuando de verdad tienes cuatro tipos de público (particular / equipo / empresa / gran empresa). A partir de cinco lo normal es que el visitante se pierda; en ese caso, divide la tabla en dos o añade una comparativa aparte.

Depende del negocio. Mostrar el anual por defecto resalta el descuento y ancla en la mente del visitante un precio más bajo; mostrar el mensual resulta menos agresivo. Si hay ingresos reales en juego, haz un test A/B. Una solución intermedia: muestra el anual por defecto y deja la opción mensual a un solo clic.

El grid repeat(auto-fit, minmax(240px, 1fr)) lo hace solo. Por debajo de unos 800px de ancho de viewport, las tarjetas caen a una sola columna sin necesidad de ninguna media query.

En el extremo derecho, si ordenas los planes de menor a mayor precio. El texto del CTA debe ser “Hablar con ventas” en lugar de un precio, y la tarjeta debe verse igual que las demás para que la tabla siga siendo fácil de recorrer. Algunas empresas prefieren sacar el plan corporativo a una sección aparte debajo de la tabla, para no romper la comparación de precios de los demás planes.

Herramientas relacionadas