CSS Gradient Generator

Buat gradient CSS linear dan radial secara visual lalu salin kode CSS-nya

Coba contoh
Tipe
Sudut135°

Color stops

0%
100%

Output CSS

background: linear-gradient(135deg, #6366f1 0%, #ec4899 100%);

Apa Itu CSS Gradient?

CSS gradient generator adalah alat visual yang membantu Andamembuat transisi warna yang halus tanpa harus menulis sintaks gradient secara manual. Dalam CSS, gradient adalah transisi mulus antara dua warna atau lebih, yang dirender langsung oleh browser tanpa memerlukan file gambar. Spesifikasi CSS Image Module Level 4 mendefinisikan fungsi gradient sebagai jenis nilai gambar, artinya fungsi ini dapat digunakan di mana saja nilai background-image, list-style-image, atau border-image diterima. Karena browser melakukan rasterisasi gradient saat render, gradient dapat diskalakan ke resolusi apa pun dan tidak menghasilkan artefak buram di layar high-DPI. Menggunakan CSS gradient generator menghemat waktu dan mengurangi tebak-tebakan — Andamenyesuaikan warna dan posisi secara visual, lalu menyalin aturan CSS yang sudah jadi.

CSS mendukung tiga bentuk gradient utama: linear (sepanjang garis lurus), radial (menyebar dari titik tengah), dan conic (melingkar di sekitar titik tengah). Setiap bentuk menerima daftar color stops, di mana Andamenentukan warna dan secara opsional posisinya (persentase atau panjang). Browser menginterpolasi warna antar stop menggunakan ruang warna sRGB secara default, meskipun CSS Color Level 4 memungkinkan penentuan ruang warna lain seperti oklch dan lab untuk transisi yang lebih halus secara perseptual.

Gradient menggantikan latar belakang berbasis gambar untuk sebagian besar keperluan dekoratif di web. Satu aturan CSS menghasilkan apa yang dulu memerlukan ekspor Photoshop dan satu HTTP request. Gradient bersifat resolution-independent, tidak memerlukan bandwidth jaringan di luar CSS itu sendiri, dan dapat dianimasikan atau ditransisikan dengan properti CSS standar. Sintaks gradient telah stabil di semua browser utama sejak 2013, dan bentuk tanpa prefiks bekerja di Chrome, Firefox, Safari, dan Edge tanpa fallback.

Mengapa Menggunakan CSS Gradient Generator Ini?

Menulis sintaks gradient secara manual berarti menebak posisi stop, memeriksa nilai sudut, dan berkali-kali me-refresh untuk melihat hasilnya. Pembuat visual memungkinkan Andamelihat gradient seiring membuatnya, menyesuaikan stop dengan cara drag, dan menyalin CSS akhir saat tampilannya sudah sesuai.

Pratinjau Visual Langsung
Lihat gradient diperbarui secara real time saat Andamengubah warna, posisi, dan sudut. Tidak perlu berpindah antara editor dan browser.
🔒
Pemrosesan Utamakan Privasi
Semua rendering terjadi di browser Anda. Tidak ada data warna atau konfigurasi gradient yang dikirim ke server mana pun.
🎨
Berbagai Tipe Gradient
Buat gradient linear dan radial dengan kontrol penuh atas arah, sudut, dan posisi color stop. Salin CSS dengan satu klik.
📋
Tanpa Perlu Akun
Buka halaman dan mulai membuat. Tanpa pendaftaran, tanpa gerbang email, tanpa batas permintaan. Bekerja secara offline setelah dimuat.

Kasus Penggunaan CSS Gradient Generator

Pengembangan Frontend
Buat latar belakang bagian hero, overlay kartu, dan status hover tombol. Pratinjau gradient pada dimensi target, lalu tempel CSS langsung ke stylesheet atau konfigurasi Tailwind Anda.
Desain Template Email
Beberapa klien email mendukung gradient CSS dalam inline styles. Buat kode gradient yang tepat dan sematkan secara inline pada elemen tersebut, dengan warna fallback solid untuk klien yang tidak merender gradient.
Prototipe Desain
Saat mengiterasi skema warna di browser alih-alih Figma, buat latar belakang gradient dengan cepat. Bandingkan beberapa opsi secara berdampingan tanpa mengekspor aset.
Penggayaan Dashboard DevOps
Dashboard status dan UI pemantauan menggunakan gradient warna untuk merepresentasikan rentang tingkat keparahan (hijau ke merah) atau kepadatan data. Buat nilai gradient dan terapkan pada latar belakang grafik atau status bar.
Visualisasi Data
Library grafik seperti D3.js dan Recharts menerima definisi gradient CSS untuk pengisian area dan heatmap. Buat gradient secara visual, lalu ekstrak warna stop untuk fungsi skala Anda.
Belajar CSS
Pelajar yang mempelajari CSS dapat bereksperimen dengan sintaks gradient, melihat bagaimana perubahan sudut memengaruhi arah, dan memahami penempatan color stop. CSS yang dihasilkan adalah referensi yang langsung bisa dipakai.

Referensi Tipe Gradient CSS

CSS mendefinisikan lima fungsi gradient. Tiga tipe utama (linear, radial, conic) masing-masing memiliki varian repeating yang mengulangi pola. repeating-linear-gradient() dan repeating-radial-gradient() berguna untuk latar belakang bergaris dan cincin konsentris. Semua fungsi gradient menerima color stops dalam format warna CSS apa pun: HEX, RGB, HSL, named colors, atau oklch. Dukungan browser untuk kelima fungsi ini secara efektif universal di Chrome, Firefox, Safari, dan Edge — tidak diperlukan vendor prefix.

FungsiContoh sintaksArahPenggunaan umum
linear-gradient()to right, #f00, #00fStraight lineBackgrounds, hero sections, progress bars
radial-gradient()circle, #f00, #00fOutward from centerSpotlight effects, buttons, badges
conic-gradient()from 0deg, #f00, #00fSweep around centerPie charts, color wheels, spinners
repeating-linearto right, #f00 0 10px, #00f 10px 20pxTiled lineStripes, progress indicators, decorative borders
repeating-radialcircle, #f00 0 10px, #00f 10px 20pxTiled circleConcentric ring patterns, retro textures

Gradient Linear vs Radial vs Conic

Setiap tipe gradient memetakan warna ke geometri dengan cara berbeda. Memilih tipe yang tepat bergantung pada efek visual yang Andabutuhkan, bukan pada perbedaan kualitas di antara keduanya. Untuk sebagian besar latar belakang halaman dan pemisah bagian, gradient linear adalah pilihan default yang tepat — paling mudah dipahami dan paling dapat diprediksi pada elemen dengan berbagai ukuran. Gradient radial dan conic lebih baik digunakan untuk efek visual tertentu di mana geometri melingkar atau rotasional bermakna, bukan sekadar dekoratif.

linear-gradient()
Warna bertransisi sepanjang garis lurus yang didefinisikan oleh sudut (0deg = bawah ke atas, 90deg = kiri ke kanan) atau kata kunci seperti 'to right'. Tipe yang paling umum, digunakan untuk latar belakang, overlay, dan indikator kemajuan. Mendukung beberapa color stop di posisi bebas.
radial-gradient()
Warna menyebar keluar dari titik tengah dalam bentuk lingkaran atau elips. Kendalikan bentuk, ukuran, dan posisi tengah dengan sintaks. Berguna untuk efek spotlight, vignette, dan elemen UI melingkar seperti badge atau cincin avatar.
conic-gradient()
Warna menyapu mengelilingi titik tengah seperti jarum jam. Sudut awal dapat dikonfigurasi dengan 'from Xdeg'. Berguna untuk segmen pie chart, color wheel, dan indikator loading rotasional. Membutuhkan minimal dua stop; mengulang warna pertama di akhir menciptakan loop yang mulus.

Contoh Kode

Contoh pembuatan dan penerapan gradient CSS secara programatik dalam JavaScript, Python, CSS, dan Go. Masing-masing menghasilkan string gradient CSS yang valid dan dapat digunakan langsung di stylesheet atau inline styles.

JavaScript
// Generate a CSS linear-gradient string from an array of stops
function buildGradient(angle, stops) {
  const parts = stops.map(s => `${s.color} ${s.position}%`)
  return `linear-gradient(${angle}deg, ${parts.join(', ')})`
}

const stops = [
  { color: '#6366f1', position: 0 },
  { color: '#ec4899', position: 50 },
  { color: '#f59e0b', position: 100 },
]
buildGradient(90, stops)
// -> "linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

// Apply to an element
document.querySelector('.hero').style.background = buildGradient(135, stops)
Python
# Generate a CSS gradient string for use in templates or SVGs
def build_gradient(angle: int, stops: list[tuple[str, int]]) -> str:
    parts = [f"{color} {pos}%" for color, pos in stops]
    return f"linear-gradient({angle}deg, {', '.join(parts)})"

stops = [("#6366f1", 0), ("#ec4899", 50), ("#f59e0b", 100)]
print(build_gradient(135, stops))
# -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

# Interpolate N colors between two endpoints
def interpolate_hex(c1: str, c2: str, steps: int) -> list[str]:
    r1, g1, b1 = int(c1[1:3], 16), int(c1[3:5], 16), int(c1[5:7], 16)
    r2, g2, b2 = int(c2[1:3], 16), int(c2[3:5], 16), int(c2[5:7], 16)
    return [
        f"#{int(r1+(r2-r1)*i/(steps-1)):02x}"
        f"{int(g1+(g2-g1)*i/(steps-1)):02x}"
        f"{int(b1+(b2-b1)*i/(steps-1)):02x}"
        for i in range(steps)
    ]

interpolate_hex("#6366f1", "#f59e0b", 4)
# -> ['#6366f1', '#9a7399', '#d18042', '#f59e0b']
CSS
/* Linear gradient — left to right */
.hero {
  background: linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%);
}

/* Radial gradient — circular spotlight */
.badge {
  background: radial-gradient(circle at 30% 30%, #6366f1, #312e81);
}

/* Conic gradient — color wheel */
.wheel {
  background: conic-gradient(from 0deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #8b5cf6, #ef4444);
  border-radius: 50%;
}

/* Multi-stop with transparency */
.overlay {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 60%,
    rgba(0, 0, 0, 0.9) 100%
  );
}

/* Repeating stripes */
.stripes {
  background: repeating-linear-gradient(
    45deg,
    #6366f1 0 10px,
    transparent 10px 20px
  );
}
Go
package main

import "fmt"

// Stop represents one color stop in a gradient.
type Stop struct {
	Color    string
	Position int // percent 0-100
}

func buildGradient(angle int, stops []Stop) string {
	result := fmt.Sprintf("linear-gradient(%ddeg", angle)
	for _, s := range stops {
		result += fmt.Sprintf(", %s %d%%", s.Color, s.Position)
	}
	return result + ")"
}

func main() {
	stops := []Stop{
		{"#6366f1", 0},
		{"#ec4899", 50},
		{"#f59e0b", 100},
	}
	fmt.Println(buildGradient(135, stops))
	// -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"
}

Pertanyaan yang Sering Diajukan

Apa perbedaan antara linear-gradient dan radial-gradient?
linear-gradient() mentransisikan warna sepanjang garis lurus pada sudut tertentu, sementara radial-gradient() mentransisikan warna ke luar dari titik tengah dalam lingkaran atau elips. Gradient linear adalah pilihan standar untuk latar belakang halaman dan overlay. Gradient radial lebih cocok untuk efek spotlight dan elemen UI melingkar.
Bagaimana cara mengatur arah gradient linear?
Gunakan sudut dalam derajat (misalnya, 90deg untuk kiri ke kanan, 180deg untuk atas ke bawah) atau kata kunci (to right, to bottom left). Sudut berputar searah jarum jam dari bawah: 0deg mengarah ke atas, 90deg mengarah ke kanan. Anda juga bisa menggunakan 'to top right' untuk menargetkan sudut tertentu, dan browser menghitung sudut pastinya berdasarkan rasio aspek elemen.
Bisakah saya menganimasikan gradient CSS?
Browser tidak dapat menginterpolasi antara dua nilai gradient secara langsung dengan CSS transitions. Solusi umum yang digunakan: menganimasikan background-position dari gradient berukuran besar, menggunakan @property untuk menganimasikan nilai color stop individual sebagai custom properties, atau cross-fade dengan opacity pada pseudo-element. Pendekatan @property (didukung di Chrome dan Edge sejak 2020, Firefox sejak 2024) adalah solusi yang paling bersih.
Berapa banyak color stop yang dapat dimiliki sebuah gradient?
Spesifikasi CSS tidak menetapkan jumlah maksimum. Browser menangani gradient dengan puluhan stop tanpa masalah performa. Dalam praktiknya, sebagian besar gradient menggunakan 2 hingga 5 stop. Setiap stop dapat menentukan warna dan posisi opsional sebagai nilai persentase atau panjang. Anda juga dapat mendefinisikan dua posisi per stop untuk membuat band warna tajam tanpa transisi.
Apa perbedaan antara gradient dan gambar?
Dalam CSS, gradient adalah gambar yang dikomputasi. Gradient berbagi pipeline rendering yang sama dengan gambar url() dan dapat digunakan di mana saja nilai gambar berlaku: background-image, list-style-image, border-image, dan mask-image. Perbedaannya adalah gradient dibuat oleh browser saat render, dapat diskalakan ke ukuran apa pun tanpa kehilangan kualitas, dan tidak menambah satu byte pun pada bobot halaman karena tidak ada file yang diunduh.
Bagaimana cara membuat gradient dengan color stop yang tajam (tanpa transisi)?
Tempatkan dua color stop pada posisi yang sama. Misalnya, linear-gradient(to right, #6366f1 50%, #ec4899 50%) membuat pembagian tajam tanpa pencampuran warna. Anda juga dapat menggunakan sintaks dua posisi: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%) untuk mendefinisikan setiap band secara eksplisit.
Apakah fungsi conic-gradient didukung di semua browser?
conic-gradient() didukung di Chrome 69+, Firefox 83+, Safari 12.1+, dan Edge 79+. Per 2024, dukungan browser global melebihi 95% menurut data Can I Use. Tidak diperlukan vendor prefix. Untuk sebagian kecil pengguna di browser lama, tetapkan background-color solid sebagai fallback sebelum deklarasi gradient.