KRDS — Korea Republic Design System
KRDS — Korea Republic Design System
krds

KRDS's reference documents #256ef4 as a documented primary color, Pretendard GOV for typography, 6px corner radius. KRDS는 대한민국 행정·공공기관 웹·앱이 공유하는 정부 표준 디자인 시스템입니다.

Primary
#256ef4
Typography
Pretendard GOV
Radius
6px

Evidence snapshot

verified v2
Claims grounded
199/199 · 100%
Sources
11 surfaces · 12 sources
UI font basis
repository fact
Components
12 documented · 5 interactive, 5 with states
Design System
KRDS logo

KRDS

KRDS는 대한민국 행정·공공기관 웹·앱이 공유하는 정부 표준 디자인 시스템입니다. 화면은 마케팅 브랜드가 아니라 공공 서비스의 도구처럼 보이도록 설계되었습니다 — 순백 배경(#ffffff) 위에 거의 검정에 가까운 본문(#1E2124), 그리고 신뢰감을 주는 정부 블루(#256EF4)가 단 하나의 강조색으로 작동합니다. 강조색은 그래픽 장식이 아니라 행위(action), 즉 "신청", "확인", "다음 단계"가 있는 자리에만 나타납니다. 영역 분리는 그림자가 아니라 얇은 회색 보더(#58616A 1px / #B1B8BE 1px / #CDD1D5 1px)와 8px 라운드로 처리되어, 시각적 무게가 일관되게 가라앉아 있습니다. 이 절제는 기관별 취향보다 시민의 예측

01

Color Palette

Brand

Accent

Neutrals

Semantic

02

Typography

Fonts

Primary
Pretendard GOV
Brand-only
Live preview unavailable (brand font is not publicly distributed)
Not in the OMD font registry. Likely a brand-proprietary typeface — check the brand's own design site for source/availability.
Not publicly distributed.
Primary
Pretendard
Open · OFL
Live webfont loaded in preview
Install via GitHub · orioncactus/pretendard
Primary
Apple System
Systemno install needed
Rendered with the OS-native System UI stack
macOS/iOS default — uses SF Pro automatically.
Not publicly distributed.
Primary
Apple System (Blink)
Systemno install needed
Live preview unavailable (brand font is not publicly distributed)
Chrome alias for Apple system font on macOS.
Not publicly distributed.
Primary
Apple SD Gothic Neo
Systemno install needed
Rendered with the OS-native System UI stack
Apple system font for Korean.
Not publicly distributed.
Primary
Noto Sans KR
Open · OFL
Live webfont loaded in preview
Install via Google Fonts
03

Spacing & Shape

Spacing

PurposeValuePreview
token-12px
token-24px
token-38px
token-410px
token-512px
token-616px
token-720px
token-824px
token-932px
token-1040px

Border Radius

ElementValuePreview
buttons6px
inputs6px
cards6px
dialogs6px
badges6px

Elevation

Subtle
Default
Elevated
Floating
Modal
04

Guidelines

Do and Don't guidelines parsed from DESIGN.md.

Do

  • 정부 블루(#256EF4)는 액션 자리에만 — Primary 버튼, 활성 링크, 활성 탭, focus ring, side-menu 활성 표시
  • 본문은 17px / 400 / line-height 1.5 — 노안·저시력 사용자를 우선
  • 모든 인터랙티브 요소에 가시성 높은 4px outline focus ring 적용 (--krds-box-shadow-outline)
  • 양식 검증은 명시적 에러 라벨 + aria-invalid + 에러 영역 자동 포커스 + 2px border #DE3412
  • "글자·화면 표시 설정"을 항상 헤더에 노출 — 사용자의 1차 컨트롤
  • 한글 본문에 letter-spacing 0을 유지 — 인위적 자간 압축 금지 (Display만 1px)
  • Pretendard GOV 또는 시스템 한글 폴백을 사용
  • 색상은 매직넘버에 맞춰 선택 — primary-50 위 gray-0이면 즉시 4.5:1+ 통과
  • 모든 컴포넌트는 일반 모드 / 선명한 화면 모드 두 토큰 레이어로 검증

Don't

  • Primary 50을 배경 / 일러스트 / 헤더 풀-블리드에 쓰지 말 것 — 색은 행위(action)다
  • 그림자로 깊이감을 만들지 말 것 — 보더와 라운드로 충분
  • 한 화면에 두 개 이상의 Primary 버튼을 같은 위계로 두지 말 것 — 첫 번째 행위가 명확해야 함
  • 마케팅 카피·과장 표현 금지 — "혁신적인", "최고의", "감동의" 같은 수식어 금지
  • 모션을 강조 수단으로 쓰지 말 것 — prefers-reduced-motion 사용자가 다수
  • 정보 부재 상태에 "데이터가 없습니다" 같은 무미한 표현 금지 — 다음 행동을 안내할 것
  • KWCAG 2.1 AA 미달 컬러 / 컴포넌트 사용 금지 (4.5:1 contrast 최소)
05

Components

Buttons

Primary
Background`#256EF4`
Text`#FFFFFF`
Border1px solid `#256EF4`
Radius6px
Padding0 16px
Text style17px / 400
HoverPrimary 60 `#0B50D0` 배경
ActivePrimary 70 `#083891` 배경 (pressed)
DisabledGray 20 `#CDD1D5` 배경 + Gray 50 `#6D7882` 텍스트 + cursor not-allowed
xsmall32px / 4px / 0 10px / 15px·400
small40px / 6px / 0 12px / 15px·400
large56px / 8px / 0 20px / 19px·400
xlarge64px / 8px / 0 24px / 19px·400
Use: 핵심 액션 — "시작하기", "신청하기", "확인", "다음 단계" (한 화면당 1개 권장)
Secondary
Background`#ECF2FE` (Primary 5)
Text`#0B50D0` (Primary 60)
Border1px solid `#256EF4`
Radius6px
Padding0 16px
Text style17px / 400
Use: 보조 액션 — "자세히 보기", "이전 단계", "다운로드" (Primary 옆 동일 위계, 사이즈 스케일 Primary와 동일 — radius 4/6/6/8/8)
Tertiary (Outline)
Backgroundtransparent
Text`#1E2124` (Gray 90)
Border1px solid `#58616A` (Gray 60)
Radius6px
Padding0 16px
Text style17px / 400
HoverGray 5 `#F4F5F6` 배경
Use: 부가 / 취소 / 초기화 — "취소", "초기화", "닫기" (사이즈 스케일 Primary와 동일)
Text / Link
Backgroundtransparent
Text`#1E2124` (text variant) 또는 `#256EF4` (link variant)
Border1px transparent (focus 시 가시화)
Radius4~8px (크기별)
Padding0 2px~9px (텍스트 흐름에 맞춤)
Fontmedium height 28px
Use: 인라인 액션 — "파일 다운로드", "문의 및 건의", "찜하기"
Icon Only
Backgroundtransparent
Text`#1E2124`
Radius6~8px (크기별)
Padding0 (icon-size 1.6/2/2.4rem = 16/20/24px, `--krds-icon--size-*`)
Use: 단독 아이콘 컨트롤 — 검색 / 닫기 / 도움말 토글
Icon + Border
Background`#FFFFFF`
Text`#1E2124`
Border1px solid `#B1B8BE` (Gray 30)
Radius1000px (`--krds-radius-max`, 원형)
Use: 보조 컨트롤 — "새로고침", "맨 위로"
Floating
BackgroundPrimary `#256EF4`
Text`#FFFFFF`
Radius1000px (원형)
Shadow약한 box-shadow
Use: 페이지 우하단 부유 액션 — "맨 위로 / 챗봇 / 음성지원" (스크롤 시 표시, `component_05_03.html`)

소스: `component_05_02.html`. 5단계 크기 × 6개 변형 = 30개 컴포넌트 슬롯.

Inputs

Text Input
Background`#FFFFFF`
Text`#464C53` (Gray 70, placeholder 포함)
Border1px solid `#58616A`
Radius8px
Padding0 16px
Text style19px / 400
Focus보더 유지 + `box-shadow: 0 0 0 4px #256EF4` halo (focus ring)
Disabledbg `#CDD1D5` (Gray 20) / text `#6D7882` (Gray 50) / border 1px `#B1B8BE` (Gray 30) / `aria-disabled="true"`
Use: 일반 텍스트 입력 (`component_09_03.html`) — height 56px default
Textarea
Background`#FFFFFF`
Text`#464C53`
Border1px solid `#58616A`
Radius8px
Padding0 16px
Text style19px / 400
Use: 다행 입력 (`component_09_02.html`) — Text Input과 동일 토큰 + 기본 높이 14.4rem (144px), 자동 리사이즈 비권장
Date Input
Background`#FFFFFF`
Text`#464C53`
Border1px solid `#58616A`
Radius8px
Padding0 16px
Text style19px / 400
Use: 날짜 입력 (`component_09_01.html`) — Text Input + 캘린더 아이콘 + Calendar 컴포넌트(`component_04_03.html`) 연동, `YYYY-MM-DD` 또는 분리형 (`YYYY / MM / DD` 셋 박스)
File Upload
Background`#FFFFFF`
Text`#1E2124`
Border1px solid `#58616A`
Radius8px
Padding0 16px
Use: 파일 첨부 (`component_09_04.html`) — Tertiary 버튼 + 파일명 표시 영역 + 진행 표시기 + 삭제 칩

소스: `component_09_*.html`. 5단계 크기 + 4단계 상태. Default = large.

Toggles

Checkbox
Background`#FFFFFF` (Checked: `#256EF4`)
Text`#FFFFFF` (check 아이콘)
Border1px solid `#58616A`
Radius4px
Padding16/20/24px 정사각
Use: 다중 선택 — Checked 배경 `#256EF4` + 흰색 check 아이콘. Indeterminate / Error / Disabled 상태 제공.
Radio
Background`#FFFFFF`
Text`#256EF4` (내부 dot)
Border1px solid `#58616A` (Checked: 외곽 `#256EF4`)
Radius1000px (원형)
Padding16/20/24px 원
Use: 단일 선택 — 그룹 단위 키보드 탐색 (`role="radiogroup"`)
Toggle Switch
Background`#B1B8BE` (Off) / `#256EF4` (On)
Text`#FFFFFF` (thumb)
Radiusmax (pill, 트랙 32px 폭 / 16px 높이)
Disabledbg `#CDD1D5`
Use: 켜기/끄기 토글 — On 시 흰색 thumb 우측 이동

체크박스 · 라디오 · 토글 스위치 (`component_06_01.html` / `06_02` / `06_07`).

Cards

Standard Panel
Standard Panel
Background`#FFFFFF`
Border1px solid `#B1B8BE` (Gray 30)
Radius8px
Padding24px (`--krds-padding-8`)
Shadownone — 보더로 영역 구분
Use: 일반 콘텐츠 카드, 본문 내 모듈
Info Panel (Light Primary)
Info Panel (Light Primary)
Background`#ECF2FE` (Primary 5)
Text강조 `#0B50D0` + 본문 `#1E2124`
Bordernone
Radius8px
Padding16px 24px (`--krds-padding-6 --krds-padding-8`)
Use: 안내·도움말 패널 — "이 페이지에서는…", "도움말", 정보성 알림
Critical Alert
Critical Alert
Background`#DE3412` (Danger 50)
Text`#FFFFFF`
Radius0px (풀-블리드)
Padding페이지 폭 가득
Use: 페이지 상단 풀-블리드 긴급 공지 배너 (`component_04_02.html`) — 모바일 헤더 긴급 배지 높이 3.9rem (`--krds-critical-alerts--mobile-badge-size-height`)
Accordion
Accordion
Background`#FFFFFF`
Text`#1E2124`
Border1px solid `#B1B8BE`
Radius8px
Use: 보더 분리 disclosure 패널 (`component_04_07.html` / `04_04`) — max-height 400ms ease 전환

소스: `component_04_*.html`. 표면(surface) 컴포넌트 모음.

Modals

Modal
Dialog content placeholder
Modal
Background`#FFFFFF`
Text`#1E2124`
Radius12px (`--krds-radius-xlarge1`)
Padding40px (`--krds-padding-10`)
Shadow`0 0.2rem 0 0 rgba(0,0,0,a1), 0 0.4rem 0.8rem 0 rgba(0,0,0,a2)` (드롭다운·툴팁과 공유)
Use: 다이얼로그 (`component_04_05.html`) — "글자·화면 표시 설정", "전체 메뉴", 양식 확인. Min-height 264px. 백드롭 fade-in 400ms / opacity 0→0.5 black.

Badges

Primary
Primary
Background`#256EF4` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#0B50D0` (outline)
Border1px solid `#256EF4` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 콘텐츠 분류, 액션 강조
Secondary
Secondary
Background`#063A74` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#052B57` (outline)
Border1px solid `#052B57` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 카테고리 그룹
Gray
Gray
Background`#6D7882` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#464C53` (outline)
Border1px solid `#464C53` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 메타 / 일반 분류
Point
Point
Background`#D63D4A` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#AB2B36` (outline)
Border1px solid `#AB2B36` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 강조 / 신규 / 중요 (적색 포인트)
Danger
Danger
Background`#DE3412` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#BD2C0F` (outline)
Border1px solid `#BD2C0F` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 오류 / 반려
Warning
Warning
Background`#FFB114` (filled) / transparent (outline)
Text`#1E2124` (filled — warning 50 배경 위 텍스트는 검정으로 대비 확보) / `#8A5C00` (outline)
Border1px solid `#8A5C00` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 주의
Success
Success
Background`#228738` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#267337` (outline)
Border1px solid `#267337` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 완료 / 성공
Information
Information
Background`#0B78CB` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#096AB3` (outline)
Border1px solid `#096AB3` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 안내 / 진행 중
Disabled
Disabled
Background`#8A949E` (filled) / transparent (outline)
Text`#FFFFFF` (filled) / `#6D7882` (outline)
Border1px solid `#6D7882` (outline)
Radius4px
Padding0 8px
Text style15px / 400
Use: 비활성
Tag
Tag (필터 칩)
Background`#FFFFFF` (Selected: `#ECF2FE`)
Text`#1E2124` (Selected: `#0B50D0`)
Border1px solid `#CDD1D5` (Gray 20, Selected: `#256EF4`)
Radiuspill (height와 동일)
Padding8px 10px (medium)
Font15px / 400 (medium)
Use: 선택 가능한 필터 chip (`component_06_04.html`) — 삭제 버튼(`btn-delete`)이 우측에 위치

소스: `component_04_06.html`. outline / bg(filled) × 9개 의미 = 18개 변형. 모두 동일 형태: radius 4px / padding 0 8px / 15px·400 / height 24px.

Tabs

TabTabTab
Horizontal Tab
Backgroundtransparent
Text`#464C53` / 400 (비활성), `#256EF4` / 700 (활성)
Border활성 하단 2px solid `#256EF4`
Use: 페이지 내 섹션 전환 — 활성 탭만 하단 보더 강조

소스: `component_04_10.html`. 수평 탭 라인 + 키보드 좌우 탐색 (`role="tablist"` / `aria-selected`).

Toasts

Toast
Toast
Background`#1E2124`
Text`#FFFFFF`
Radius8px
Padding16px
Use: 화면 중앙 또는 하단 카드 — 3초 자동 닫힘
Snackbar
Snackbar
Background`#1E2124`
Text`#FFFFFF`
Radius0px (풀-블리드 띠)
Padding16px
Use: 하단 풀-블리드 띠 — 액션 버튼 포함 가능 (예: "되돌리기"), 4초 자동 닫힘

모바일 알림 — `component_12_05.html` / `component_12_06.html`.

Related design systems