스프라이트 시트 생성기
이미지 묶음을 끌어다 놓으면 생성기가 균일한 그리드에 배치하고 브라우저 안에서 하나의 스프라이트 시트 PNG를 그린 다음, 스프라이트마다 background-position 오프셋이 있는 CSS를 출력합니다. 모든 작업이 캔버스에서 로컬로 실행되므로 서버로 업로드되는 것은 없습니다. 아이콘 세트, 레트로 게임 프레임, 여러 개의 개별 이미지 대신 하나의 파일을 원하는 UI 상태에 유용합니다. 열 수, 타일 크기, 셀 사이 간격, 배경(투명, 흰색, 검정)을 직접 설정합니다.
스프라이트 시트가 만들어지는 방식
-
1
이미지 끌어다 놓기
PNG, JPG, WebP 파일을 추가합니다. 위/아래 버튼으로 순서를 바꾸거나 원하는 프레임을 삭제할 수 있으며, 시트는 즉시 다시 만들어집니다.
-
2
그리드 설정
열 수를 고르면 추가한 이미지 수에 따라 행 수가 정해집니다. 각 이미지는 가로세로 비율을 유지한 채 정사각형 타일에 맞게 크기가 조정되고 가운데에 놓입니다.
-
3
타일 크기와 간격 조정
타일 크기를 픽셀로 고르고, 크기를 조정할 때 이웃 스프라이트가 번지지 않도록 셀 사이에 간격을 추가합니다.
-
4
PNG 내려받고 CSS 복사
스프라이트 시트를 하나의 PNG로 저장하고 생성된 CSS 클래스를 복사합니다. 이미지마다 너비, 높이, background-position이 있는 `.spr-이름` 규칙이 하나씩 만들어집니다.
배치가 작동하는 방식
생성기는 예측 가능한 단일 배치, 즉 균일한 그리드를 사용합니다. 열 수를 정하면 행 수는 올림(이미지 / 열)이 됩니다. 모든 셀은 같은 정사각형 크기(고른 타일 크기)이므로, 각 이미지는 가로세로 비율을 유지한 채 자기 셀에 맞게 조정되고 가운데에 놓입니다. 크기가 다른 이미지도 모두 같은 크기의 셀에 들어가며, 이는 background-position을 쓰는 CSS 스프라이트가 기대하는 바로 그 형태입니다.
| 컨트롤 | 범위 | 효과 |
|---|---|---|
| 열 | 1~16 | 한 행당 스프라이트 수. 행은 자동 계산 |
| 타일 크기 | 32~512 px | 각 이미지를 맞춰 넣는 정사각형 셀 |
| 간격 | 0~64 px | 크기 조정 시 번짐을 막는 셀 사이의 투명한 틈 |
| 배경 | 투명 / 흰색 / 검정 | 출력 PNG에서 스프라이트 뒤를 채우는 색 |
생성되는 CSS의 형태
각 이미지는 파일 이름을 딴 클래스(.spr-<이름>)가 되며, 타일 크기로 지정되고 자기 셀로 오프셋됩니다. 열 4개, 타일 크기 128 px, 간격 없음일 때 시트는 다음과 같습니다.
.spr-idle { width: 128px; height: 128px; background: url(spritesheet.png) -0px -0px; }
.spr-walk { width: 128px; height: 128px; background: url(spritesheet.png) -128px -0px; }
.spr-run { width: 128px; height: 128px; background: url(spritesheet.png) -256px -0px; }
.spr-jump { width: 128px; height: 128px; background: url(spritesheet.png) -384px -0px; }
.spr-fall { width: 128px; height: 128px; background: url(spritesheet.png) -0px -128px; }
오프셋은 두 방향으로 움직입니다. 스프라이트는 각 행을 왼쪽에서 오른쪽으로 채운 뒤 다음 행으로 넘어갑니다. PNG를 CSS 옆에 spritesheet.png로 저장하세요(또는 경로에 맞게 url(...)을 수정하세요).
간격과 번짐
가장자리를 맞대어 채운 스프라이트는 브라우저가 시트 크기를 조정할 때(정수가 아닌 픽셀 비율, CSS 변형) 서로 번질 수 있습니다. 이웃 픽셀이 새어 들지 않도록 셀 사이에 2~4픽셀 간격을 추가하세요.
고밀도(레티나) 디스플레이
자동 2x 내보내기는 없지만, 더 선명한 시트를 간단히 만들 수 있습니다. 각 스프라이트가 더 많은 픽셀을 갖도록 더 큰 타일 크기를 고르고(예: 128 px 대신 256 px) CSS에서는 절반 크기로 표시하세요. 그러면 별도의 과정 없이 고밀도 화면에서도 선명한 스프라이트를 얻습니다.
스프라이트 시트 vs 대안
- 스프라이트 시트: CSS의 고전적인 아이콘 세트, HTML5 게임 프레임, 많은 작은 이미지를 한 파일로 묶으면 유리한 페이지.
- SVG 스프라이트(symbol): 현대적인 UI 아이콘에 더 적합하고, 손실 없이 확대되며, CSS
fill을 받아들이고,background-position으로 씨름할 필요가 없습니다. - 아이콘 폰트: 제한적이지만 아주 작은 단색 아이콘에는 여전히 쓰입니다.
- HTTP/2 또는 HTTP/3의 개별 파일: 멀티플렉싱 덕분에 요청 수의 중요성은 예전만큼 크지 않습니다.
자주 묻는 질문
이미지는 브라우저에 남습니다. 여러 단계 흐름에서는 선택한 이미지 파일과 레이아웃이 이 브라우저 탭에 최대 30분 동안만 임시 보관됩니다. 서버로 전송되거나 URL에 추가되는 것은 없습니다.
네, 다만 인라인 SVG나 SVG <symbol> 스프라이트가 대개 컴포넌트 프레임워크에 더 잘 맞습니다. CSS 스프라이트 시트는 정적 페이지에서 많은 이미지를 동시에 보여줄 때 빛을 발합니다.
각 프레임이 한 행에 오도록 열 수를 프레임 수와 같게 맞춘 뒤, CSS animation-timing-function: steps(N)과 셀 단위로 건너뛰는 background-position으로 제어하세요. 짧은 반복 애니메이션(로더, 대기 상태)에 잘 맞습니다.
그리드의 각 셀은 같은 정사각형 크기(고른 타일 크기)이므로, 각 이미지는 자기 셀에 맞춰지고 가운데에 놓입니다. 스프라이트가 이미 동일한 정사각형이라면 타일 크기를 그에 맞게 설정하면 변경 없이 통과합니다.
관련 도구
Material Design 색상 선택기
Material Design 색상 팔레트를 둘러보세요. 어떤 음영(50부터 A700까지)이든 HEX, RGB, HSL로 한 번에 복사합니다.
십자수 도안 만들기
JPEG, PNG, WebP를 10–150칸, 2–40가지 전용 색상, 기호, 정확한 스티치 수와 원단 크기가 포함된 인쇄용 십자수 도안으로 변환하세요.
이미지 포맷 변환기
브라우저에서 바로 이미지를 JPG, PNG, WebP로 변환하세요. 손실 형식의 품질을 조절하고 PNG와 WebP의 투명도는 그대로 유지됩니다.
모눈종이 생성기
인쇄용 모눈종이를 온라인으로 만드세요: 사각 또는 점 격자를 선택하고 간격을 mm로 설정하며 A4 또는 Letter와 원하는 선 색을 지정한 뒤, 인쇄하거나 선명한 SVG로 내려받으세요.
Pantone to HEX 변환기
화면과 인쇄 매칭을 위해 Pantone PMS 색상을 가장 가까운 HEX, RGB, CMYK 값으로 변환하고 견본 미리보기를 제공합니다.
이미지 색상 반전
이미지의 모든 RGB 채널을 반전시켜 네거티브를 생성합니다. 창의적인 편집이나 필름 스캔본을 확인하는 데 유용합니다.
이 도구는 다른 언어로도 제공됩니다
- Sprite sheet-generator [SV]
- Trình tạo sprite sheet [VI]
- Sprite-Sheet-Generator [DE]
- Generator Sprite Sheet [ID]
- スプライトシート生成ツール [JA]
- Generator sprite sheet [PL]
- مولّد أوراق السبرايت [AR]
- Gerador de sprite sheet [PT]
- Generador de sprite sheets [ES]
- Générateur de sprite sheet [FR]
- Sprite sheet-generator [NL]
- เครื่องมือสร้างสไปรต์ชีต [TH]
- Sprite Sheet Generator [EN]
- Generatore di sprite sheet [IT]
- Генератор спрайт-листов [RU]
- Sprite Sheet Oluşturucu [TR]
- 精灵图生成器 [ZH]