CSS 그래디언트 생성기

선형 및 방사형 CSS 그래디언트를 시각적으로 작성하고 CSS 코드 복사

예시 시도
유형
각도135°

색상 중단점

0%
100%

CSS 출력

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

CSS 그래디언트란?

CSS 그래디언트 생성기는 그래디언트 문법을 직접 작성하지 않고도 부드러운 색상 전환을 만들 수 있는 시각적 도구입니다. CSS에서 그래디언트는 이미지 파일 없이 브라우저가 직접 렌더링하는 둘 이상의 색상 간 부드러운 전환입니다. CSS Image Module Level 4 사양은 그래디언트 함수를 이미지 값의 한 유형으로 정의하므로, background-image, list-style-image, border-image 값이 허용되는 모든 곳에 사용할 수 있습니다. 브라우저는 렌더링 시점에 그래디언트를 래스터화하므로 어떤 해상도에서도 선명하게 표시되며 고DPI 화면에서도 흐릿한 결과물이 생기지 않습니다. CSS 그래디언트 생성기를 사용하면 색상과 위치를 시각적으로 조정한 뒤 완성된 CSS 규칙을 복사할 수 있어 시간을 절약하고 추측을 줄일 수 있습니다.

CSS는 세 가지 주요 그래디언트 형태를 지원합니다: 직선을 따르는 선형(linear), 중심점에서 바깥쪽으로 퍼지는 방사형(radial), 중심점을 기준으로 회전하는 원뿔형(conic)입니다. 각 형태는 색상과 선택적 위치(백분율 또는 길이 값)를 지정하는 색상 중단점 목록을 받습니다. 브라우저는 기본적으로 sRGB 색상 공간을 사용하여 중단점 사이의 색상을 보간하며, CSS Color Level 4에서는 oklch나 lab 같은 다른 색상 공간을 지정하여 지각적으로 더 부드러운 전환을 만들 수 있습니다.

그래디언트는 웹에서 대부분의 장식적 용도에서 이미지 기반 배경을 대체합니다. CSS 규칙 하나로 과거에는 Photoshop 내보내기와 HTTP 요청이 필요했던 작업을 처리할 수 있습니다. 해상도에 독립적이며 CSS 자체 외에 네트워크 대역폭이 전혀 필요 없고 표준 CSS 속성으로 애니메이션이나 전환 효과를 적용할 수 있습니다. 그래디언트 문법은 2013년부터 모든 주요 브라우저에서 안정적으로 지원되며, 접두사 없는 형태가 Chrome, Firefox, Safari, Edge에서 폴백 없이 작동합니다.

이 CSS 그래디언트 생성기를 사용하는 이유

그래디언트 문법을 직접 작성하면 중단점 위치를 추측하고, 각도 값을 확인하고, 결과를 보려고 반복적으로 새로 고쳐야 합니다. 시각적 빌더를 사용하면 그래디언트를 만들면서 실시간으로 확인하고, 드래그로 중단점을 조정하고, 원하는 모양이 나왔을 때 최종 CSS를 복사할 수 있습니다.

실시간 시각적 미리보기
색상, 위치, 각도를 변경하면 그래디언트가 실시간으로 업데이트됩니다. 편집기와 브라우저 사이를 전환할 필요가 없습니다.
🔒
개인정보 보호 우선 처리
모든 렌더링은 브라우저에서 처리됩니다. 색상 데이터나 그래디언트 설정이 어떤 서버에도 전송되지 않습니다.
🎨
다양한 그래디언트 유형
방향, 각도, 색상 중단점 위치를 완전히 제어하여 선형 및 방사형 그래디언트를 만드세요. 클릭 한 번으로 CSS를 복사할 수 있습니다.
📋
계정 불필요
페이지를 열고 바로 작업을 시작하세요. 회원가입, 이메일 인증, 사용 제한이 없습니다. 로드 후 오프라인에서도 작동합니다.

CSS 그래디언트 생성기 활용 사례

프런트엔드 개발
히어로 섹션 배경, 카드 오버레이, 버튼 호버 상태를 만드세요. 목표 크기에서 그래디언트를 미리 본 뒤 CSS를 스타일시트나 Tailwind 설정 파일에 직접 붙여넣으세요.
이메일 템플릿 디자인
일부 이메일 클라이언트는 인라인 스타일에서 CSS 그래디언트를 지원합니다. 정확한 그래디언트 코드를 생성하여 요소에 인라인으로 적용하고, 그래디언트를 렌더링하지 않는 클라이언트를 위해 단색 폴백을 함께 지정하세요.
디자인 프로토타이핑
Figma 대신 브라우저에서 색상 구성을 반복할 때 그래디언트 배경을 빠르게 생성하세요. 에셋을 내보내지 않고 여러 옵션을 나란히 비교할 수 있습니다.
DevOps 대시보드 스타일링
상태 대시보드와 모니터링 UI는 심각도 범위(초록에서 빨강) 또는 데이터 밀도를 표현하기 위해 색상 그래디언트를 사용합니다. 그래디언트 값을 생성하여 차트 배경이나 상태 바에 적용하세요.
데이터 시각화
D3.js나 Recharts 같은 차트 라이브러리는 영역 채우기와 히트맵에 CSS 그래디언트 정의를 허용합니다. 시각적으로 그래디언트를 만든 뒤 스케일 함수에 사용할 중단점 색상을 추출하세요.
CSS 학습
CSS를 공부하는 학생은 그래디언트 문법을 실험하고, 각도 변화가 방향에 어떤 영향을 미치는지 확인하고, 색상 중단점 위치 지정을 이해할 수 있습니다. 생성된 CSS는 실제로 작동하는 참고 자료가 됩니다.

CSS 그래디언트 유형 참조

CSS는 다섯 가지 그래디언트 함수를 정의합니다. 세 가지 기본 유형(linear, radial, conic)에는 각각 패턴을 반복하는 변형이 있습니다. repeating-linear-gradient()와 repeating-radial-gradient()는 줄무늬 배경과 동심원 링에 유용합니다. 모든 그래디언트 함수는 HEX, RGB, HSL, 명명된 색상, oklch 등 모든 CSS 색상 형식의 중단점을 허용합니다. 다섯 가지 함수 모두 Chrome, Firefox, Safari, Edge에서 사실상 전 세계적으로 지원되며 공급업체 접두사가 필요 없습니다.

함수예시 문법방향일반적인 용도
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

선형 vs 방사형 vs 원뿔형 그래디언트

각 그래디언트 유형은 색상을 기하학적 구조에 다르게 매핑합니다. 올바른 유형을 선택하는 것은 품질 차이가 아니라 필요한 시각적 효과에 달려 있습니다. 대부분의 페이지 배경과 섹션 구분자에는 선형 그래디언트가 적합한 기본 선택입니다. 가장 이해하기 쉽고 다양한 크기의 요소에서 가장 예측 가능합니다. 방사형과 원뿔형 그래디언트는 원형이나 회전 기하학이 단순한 장식이 아닌 의미 있는 특정 시각적 효과에 더 적합합니다.

linear-gradient()
각도(0deg = 아래에서 위, 90deg = 왼쪽에서 오른쪽)나 'to right' 같은 키워드로 정의된 직선을 따라 색상이 전환됩니다. 배경, 오버레이, 진행 표시기에 사용되는 가장 일반적인 유형입니다. 임의 위치에서 여러 색상 중단점을 지원합니다.
radial-gradient()
원이나 타원의 중심점에서 바깥쪽으로 색상이 퍼집니다. 문법으로 형태, 크기, 중심 위치를 제어할 수 있습니다. 스포트라이트 효과, 비네팅, 배지나 아바타 링 같은 원형 UI 요소에 유용합니다.
conic-gradient()
시계 바늘처럼 중심점을 중심으로 색상이 회전합니다. 시작 각도는 'from Xdeg'로 설정할 수 있습니다. 파이 차트 세그먼트, 색상환, 회전 로딩 표시기에 유용합니다. 최소 두 개의 중단점이 필요하며, 끝에 첫 번째 색상을 반복하면 끊김 없는 루프가 만들어집니다.

코드 예제

JavaScript, Python, CSS, Go에서 CSS 그래디언트를 프로그래밍 방식으로 생성하고 적용하는 예제입니다. 각각 스타일시트나 인라인 스타일에 직접 사용할 수 있는 유효한 CSS 그래디언트 문자열을 만들어냅니다.

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%)"
}

자주 묻는 질문

linear-gradient와 radial-gradient의 차이는?
linear-gradient()는 주어진 각도의 직선을 따라 색상을 전환하고, radial-gradient()는 원이나 타원의 중심점에서 바깥쪽으로 색상을 전환합니다. 선형 그래디언트는 페이지 배경과 오버레이에 표준 선택입니다. 방사형 그래디언트는 스포트라이트 효과와 원형 UI 요소에 더 적합합니다.
선형 그래디언트의 방향을 설정하는 방법은?
각도(예: 좌우 방향에는 90deg, 상하 방향에는 180deg)나 키워드(to right, to bottom left)를 사용하세요. 각도는 아래쪽에서 시계 방향으로 회전합니다: 0deg는 위쪽을, 90deg는 오른쪽을 가리킵니다. 'to top right'를 사용하여 모서리를 목표로 할 수도 있으며, 브라우저가 요소의 종횡비에 따라 정확한 각도를 계산합니다.
CSS 그래디언트에 애니메이션을 적용할 수 있나요?
브라우저는 CSS 전환으로 두 그래디언트 값 사이를 직접 보간할 수 없습니다. 일반적인 해결 방법은 크게 만든 그래디언트의 background-position을 애니메이션하거나, @property를 사용하여 개별 색상 중단점 값을 커스텀 속성으로 애니메이션하거나, 의사 요소의 opacity로 크로스페이드하는 것입니다. @property 방식(Chrome과 Edge는 2020년부터, Firefox는 2024년부터 지원)이 가장 깔끔한 해결책입니다.
그래디언트에 색상 중단점을 몇 개까지 넣을 수 있나요?
CSS 사양에는 최대값이 정해져 있지 않습니다. 브라우저는 수십 개의 중단점이 있는 그래디언트도 성능 문제 없이 처리합니다. 실제로는 대부분의 그래디언트가 2~5개의 중단점을 사용합니다. 각 중단점은 색상과 백분율 또는 길이 값으로 된 선택적 위치를 지정할 수 있습니다. 중단점당 두 개의 위치를 정의하여 전환 없는 단색 색상 밴드를 만들 수도 있습니다.
그래디언트와 이미지의 차이는?
CSS에서 그래디언트는 계산된 이미지입니다. url() 이미지와 동일한 렌더링 파이프라인을 공유하며, 이미지 값이 유효한 모든 곳에 사용할 수 있습니다: background-image, list-style-image, border-image, mask-image. 차이점은 그래디언트가 렌더링 시점에 브라우저에 의해 생성되므로 품질 손실 없이 어떤 크기로도 확장되고, 파일을 다운로드하지 않으므로 페이지 용량에 전혀 영향을 미치지 않는다는 것입니다.
전환 없이 색상을 딱 잘라서 구분하는 그래디언트를 만드는 방법은?
두 개의 색상 중단점을 같은 위치에 배치하세요. 예를 들어 linear-gradient(to right, #6366f1 50%, #ec4899 50%)는 두 색상 사이에 혼합 없이 선명하게 분할됩니다. 두 위치 문법 linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%)을 사용하여 각 밴드를 명시적으로 정의할 수도 있습니다.
conic-gradient 함수는 모든 브라우저에서 지원되나요?
conic-gradient()는 Chrome 69+, Firefox 83+, Safari 12.1+, Edge 79+에서 지원됩니다. 2024년 기준으로 Can I Use 데이터에 따르면 전 세계 브라우저 지원율이 95%를 초과합니다. 공급업체 접두사가 필요 없습니다. 구형 브라우저를 사용하는 소수의 사용자를 위해 그래디언트 선언 앞에 단색 background-color를 폴백으로 설정하세요.