Generator Tabel Harga CSS

Berikutnya

Tabel harga adalah salah satu ruang pemasaran paling menentukan di situs Anda: tabel ini harus jelas, mudah dipindai, dan mengarahkan pengunjung ke paket yang ingin dipilihkan perusahaan. Generator ini membuat satu kartu harga dalam HTML + CSS, berisi nama paket, harga, dan warna aksen untuk teks harga serta tombol ajakan bertindak. Susun beberapa kartu berdampingan untuk membentuk tabel harga lengkap, lalu salin kodenya ke halaman landing Anda.

Cara membuat tabel harga

  1. 1

    Masukkan nama paket

    Judul paket di bagian atas kartu, misalnya "Pro".

  2. 2

    Atur harga

    Harga dengan huruf besar, misalnya "$29". Akhiran "/mo" ditambahkan otomatis.

  3. 3

    Pilih warna aksen

    Digunakan untuk teks harga dan tombol ajakan bertindak. Pilih warna yang sesuai merek Anda.

  4. 4

    Salin kodenya

    Kartu sudah menyertakan daftar fitur dan tombol ajakan bertindak, plus blok <style> sendiri. Ubah itemnya langsung di kode.

  5. 5

    Ulangi untuk paket lain

    Untuk tabel harga lengkap, duplikat kartu untuk setiap paket dan susun dalam grid.

Kerangka struktur

<section class="pricing">
  <article class="plan">
    <h3>Starter</h3>
    <p class="price">$9 <span>/mo</span></p>
    <p class="tagline">For solo projects.</p>
    <ul class="features">
      <li>3 projects</li>
      <li>10 GB storage</li>
      <li>Community support</li>
    </ul>
    <a class="cta" href="#">Start free</a>
  </article>

  <article class="plan featured">
    <span class="badge">Most popular</span>
    <h3>Pro</h3>
    <p class="price">$29 <span>/mo</span></p>
    <!-- ... -->
  </article>

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

Grid tiga kolom yang responsif

.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);
}

Kombinasi auto-fit + minmax(240px, 1fr) menghasilkan tata letak tiga kolom di desktop dan tumpukan satu kolom di perangkat seluler, tanpa konfigurasi tambahan apa pun.

Paket unggulan

Isyarat visual yang menarik perhatian:

  • Bingkai berwarna yang selaras dengan warna aksen merek.
  • Sedikit terangkat, lewat margin-top negatif atau translateY(-4px).
  • Tombol CTA lebih besar, biasanya solid dengan warna merek, sementara paket lain memakai tombol beroutline.
  • Label (“Paling populer”, “Nilai terbaik”) diposisikan absolut di bagian atas kartu.
  • Kartu lebih tinggi, untuk menarik pandangan, walau ini bisa menyulitkan perbandingan.

Jangan pakai semuanya sekaligus, cukup dua atau tiga. Terlalu banyak isyarat justru meratakan hierarki visual.

Sakelar bulanan / tahunan

<div class="billing-toggle">
  <button data-active="true">Monthly</button>
  <button>Annual · Save 20%</button>
</div>

Sakelar ini biasanya menukar nilai harga lewat sedikit JavaScript, atau memakai status :checked pada input radio. Tampilkan persentase diskon atau nilai penghematannya (misalnya “Hemat Rp 240.000/tahun”) pada teks sakelar: elemen ini sering menjadi pemicu paling persuasif di seluruh tabel.

Gaya baris fitur

.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;
}

Pakai tanda centang untuk fitur yang “termasuk”, dan teks abu-abu atau tanda silang tipis untuk yang “tidak termasuk”. Jangan mencoret teks tanpa menurunkan kontrasnya, karena coretan tebal justru terbaca sebagai penekanan.

Jaga CTA tetap menonjol

Satu CTA per paket, konsisten secara visual di semua paket. Teks yang berbeda per paket (“Mulai gratis”, “Naik ke Pro”, “Hubungi tim sales”) justru bagus dan membantu mengarahkan pengguna ke alur yang tepat.

Buat agar mudah dipindai

Pengguna jarang membaca tabel harga dari kiri ke kanan; mereka memindai harga dulu, lalu CTA, baru perbedaan fitur. Optimalkan untuk pola itu:

  1. Nama paket + harga berukuran besar di bagian atas kartu.
  2. CTA terlihat tanpa perlu menggulir kartu.
  3. Daftar fitur di bawahnya. Tonjolkan perbedaan antarpaket, bukan mengulang fitur yang sama di setiap kolom.

Daftar periksa aksesibilitas

  • Setiap paket adalah sebuah <article> dengan <h3> miliknya sendiri.
  • Label “Paling populer” berupa teks yang terlihat, bukan sekadar warna (demi pengguna buta warna).
  • Tombol CTA memakai teks deskriptif (“Mulai uji coba Pro”), bukan “Klik di sini”.
  • Sakelar penagihan memakai aria-pressed atau semantik input radio.
  • Perubahan harga saat sakelar ditekan diumumkan lewat aria-live="polite" bila diterapkan dengan JavaScript.

Pertanyaan yang Sering Diajukan

Tiga paket adalah standar pemasaran: lebih mudah dipindai dan menonjolkan satu opsi tengah yang jelas. Empat paket masuk akal jika Anda memang punya empat segmen audiens (perorangan / tim / bisnis / enterprise). Lima paket ke atas biasanya membingungkan pengunjung; pecah menjadi dua tabel atau tambahkan tabel perbandingan terpisah.

Tergantung model bisnisnya. Default tahunan menonjolkan diskon dan menjangkarkan harga yang tampak lebih murah; default bulanan terasa kurang agresif. Lakukan uji A/B kalau dampaknya ke pendapatan besar. Jalan tengahnya: default ke tahunan, tetapi buat opsi bulanan cukup satu klik saja.

Grid repeat(auto-fit, minmax(240px, 1fr)) melakukannya otomatis. Di bawah lebar viewport sekitar 800px, kartu-kartu turun menjadi satu kolom tanpa media query sama sekali.

Paling kanan, jika Anda mengurutkan paket dari harga termurah ke termahal. Teks CTA-nya sebaiknya “Hubungi tim sales” (bukan angka harga), dan kartunya harus tampak seragam dengan kartu lain agar tabel tetap mudah dipindai. Sebagian perusahaan justru menaruh paket enterprise di bagian terpisah di bawah tabel agar tidak mengganggu perbandingan harga.

Alat Terkait