Lospec 팔레트를 도트와 스프라이트 프레임에 적용
Lospec에서 팔레트를 찾았나요? HEX 목록을 붙여 넣으면(또는 .gpl을 가져오면) 애니메이션의 모든 프레임이 정확히 그 색들로 바뀝니다. 미리보기가 아니라 내보낸 PNG로 확인합니다.
Lospec의 모든 팔레트는 HEX 파일, GIMP GPL, JASC PAL, Photoshop ASE, Paint.net TXT, PNG 이미지로 받을 수 있고, 같은 주소에 .json을 붙이면 JSON으로도 받습니다. 쓰는 프로그램이 읽는 파일을 고르세요. 대부분의 도트 도구는 .hex나 .gpl, 포토샵은 ASE, Paint.net은 TXT입니다. Nerulio에서는 픽셀 랩에 HEX 목록을 붙여 넣거나 .gpl을 가져와 모든 프레임을 팔레트에 고정하고, Studio 픽셀 작업 공간에서는 팔레트 이름을 입력하면(픽셀 › Lospec 팔레트…) 동의를 받은 뒤 lospec.com에 요청 하나를 보냅니다.

- PNG frames측정 확인· Pillow
- Palette측정 확인· re-import
- pixel-lab.json미검증
다운로드는 일곱 가지, 팔레트는 하나: Lospec 파일마다 실제로 든 것
Lospec 파일은 모두 같은 색을 같은 순서로 담고 있고, 그 밖에 무엇을 담는지와 누가 읽을 수 있는지만 다릅니다. 텍스트 형식(.hex, .gpl, .pal, .txt)은 아무 텍스트 편집기로 열어 확인할 수 있습니다. 팔레트 이름은 .gpl과 .json에만, 색마다 이름은 .gpl과 .ase에만 있습니다(Lospec은 거기에 hex 코드를 씀). Lospec 파일은 어느 것도 투명도를 저장하지 않으므로, 0번을 투명으로 다루는 도구에서는 팔레트의 첫 색이 투명 마스크가 될 수 있습니다.
두 형식이 자주 문제를 일으킵니다. Lospec의 .ase는 어도비 스와치 교환 형식으로, 확장자만 같은 에이스프라이트 스프라이트 파일과는 다른 형식이라 에이스프라이트가 팔레트로 열지 못합니다. 또 Paint.net의 .txt는 색을 알파가 먼저 오는 AARRGGBB로 쓰므로, RRGGBB나 RRGGBBAA를 기대하는 프로그램은 모든 색을 잘못 읽습니다.
Lospec의 가져오기 안내는 프로그램마다 파일을 지정합니다. 에이스프라이트는 .pal·.gpl·PNG, 김프는 .gpl·.pal·.aco, 포토샵은 ASE, Paint.net은 TXT, GrafX2는 .pal입니다. Nerulio 픽셀 랩은 .gpl·.hex·.json(또는 붙여 넣은 텍스트)을 읽고, Studio 픽셀 작업 공간은 JASC·RIFF .pal, 어도비 .ase·.act도 읽으며 이름으로 JSON을 받아 옵니다.
- .hex
- 한 줄에 16진수 여섯 자리 색 하나, 그 밖에는 없음.
- .gpl
- 김프 팔레트 텍스트. 머리말, 이름, 그 뒤 "R G B 이름" 줄. 김프 사양은 RGB만이며 에이스프라이트가 RGBA 변형을 더함.
- .pal(JASC)
- 페인트샵 프로 텍스트. "JASC-PAL", "0100", 색 개수, 그 뒤 "R G B" 줄.
- .ase(어도비)
- 어도비 스와치 교환. 바이너리이며 RGB·CMYK·LAB·Gray로 된 이름 붙은 견본.
- .act
- 어도비 색상표. RGB 256개(768바이트), 선택적으로 색 개수와 투명 인덱스용 4바이트 추가.
- 슬러그
- Lospec 주소에 쓰이는 팔레트 이름. 소문자, 공백은 대시(Endesga 32 → endesga-32).
Lospec 파일과 Nerulio에서의 처리
2026-09-28 lospec.com에서 받은 PICO-8 팔레트를 Nerulio의 팔레트 읽기 두 가지로 모두 읽어 확인했습니다.
| 파일 | 저장하는 것 | Nerulio에서 |
|---|---|---|
| HEX File(.hex) | 1D2B53 같은 16줄. 대문자, # 없음, 이름 없음, PICO-8은 128바이트 | 픽셀 랩과 Studio가 읽음. 랩에는 붙여 넣기도 가능 |
| GIMP GPL(.gpl) | GIMP Palette, 주석으로 #Palette Name·#Description·#Colors, 그 뒤 탭으로 구분한 R G B와 이름 자리의 hex 코드. 알파 없음 | 둘 다 읽음. Studio는 팔레트 이름도 유지 |
| PAL File, JASC(.pal) | JASC-PAL, 0100, 16, 그 뒤 색마다 R G B 한 줄. 이름 없음 | Studio가 읽음(바이너리 RIFF .pal도). 랩은 거부 |
| Photoshop ASE(.ase) | 바이너리 ASEF. 색마다 hex 코드 이름의 견본, RGB는 0~1 실수 | Studio가 읽음. 랩은 못 읽음 |
| Paint.net TXT(.txt) | ; 주석 줄, 그 뒤 FF1D2B53 같은 AARRGGBB 값 | 지원 안 함: Studio는 알파 바이트를 빨강으로 잘못 읽고 랩은 거부. .hex 사용 |
| JSON(주소 + .json) | {"name":"PICO-8","author":"","colors":["000000",…]}, Access-Control-Allow-Origin: *와 함께 전송 | Studio의 Lospec 검색이 요청하는 파일. 둘 다 읽음 |
| PNG 이미지(1×, 8×, 32×) | 색마다 견본 하나가 있는 그림 | 팔레트 파일로 읽지 않음. .hex나 .gpl 사용 |
| .act(Lospec은 제공 안 함) | RGB 768바이트, 또는 개수와 투명 인덱스를 더한 772바이트 | Studio가 읽고 씀(772바이트, 투명 인덱스 없음) |
Nerulio는 Studio에서 .gpl·.pal(JASC)·.hex·.ase·.act·.json을, 랩에서 .gpl·.hex·.json을 쓰며, 테스트에서 모두 쓰고 다시 읽어 똑같았습니다.
이렇게 작동합니다
- Lospec 방식 HEX 목록(줄마다 또는 쉼표 구분, # 선택), GIMP .gpl, JSON. 형식은 내용으로 판별합니다.
- 모든 프레임을 같은 팔레트에 고정해 애니메이션이 일관됩니다.
- 디더: 없음(애니메이션 기본값), Bayer 2×2/4×4/8×8, Floyd–Steinberg, Atkinson과 깜박임 경고.
- 1×~8× 최근접 PNG 프레임과 .gpl 팔레트로 내보냅니다.
사용 방법
- 프레임을 끌어다 놓습니다.
- Lospec 팔레트를 가져오거나 붙여 넣습니다.
- 디더 방식을 고르고 나란히 비교합니다.
- ZIP으로 내보냅니다.
팔레트를 프레임에 적용하기
- lospec.com에서 팔레트를 열고 HEX File(또는 GIMP GPL)을 받습니다.
- 픽셀 랩에 프레임을 놓고 팔레트 단계의 가져오기·내보내기에서 파일을 고르거나, 색을 붙여 넣고 붙여 넣은 팔레트 불러오기를 누릅니다.
- 변환 단계에서 애니메이션이라면 디더를 없음으로 두고(질감을 원하면 Bayer), 프레임을 확인한 뒤 모든 프레임 내보내기(ZIP)를 합니다.
- 레이어가 있는 스프라이트라면 Studio 픽셀 작업 공간에서 픽셀 › Lospec 팔레트…를 고르고 요청 한 번을 허용한 뒤 이름(예:
pico-8)을 입력해 불러오고, 바꾸기나 덧붙이기를 고른 다음 색 모드…로 인덱스로 변환합니다. - 다른 프로그램에는 Lospec 가져오기 안내가 지정한 파일을 받으세요. 김프와 에이스프라이트는 .gpl이나 .pal, 포토샵은 ASE, Paint.net은 TXT입니다.
문제 해결
| 증상 | 유력한 원인 | 확인 방법 | 해결 |
|---|---|---|---|
| Studio에서 Lospec .txt를 가져오자 색이 틀리거나 투명함 | Paint.net TXT는 AARRGGBB인데 Studio는 여덟 자리를 RRGGBBAA로 읽어 FF1D2B53이 반투명 빨강이 됨 | 팔레트에 체커 무늬로 투명한 빨간색들이 보임 | 지우고 같은 팔레트의 .hex를 가져오기 |
| 픽셀 랩이 "Line 1 is not a colour: JASC-PAL"이라고 함 | 랩은 .gpl, HEX 목록, JSON만 읽음 | 파일 첫 줄이 JASC-PAL(.ase라면 ASEF) | HEX File이나 GIMP GPL 판을 받기 |
| 에이스프라이트가 Lospec의 .ase를 못 엶 | 에이스프라이트 스프라이트가 아니라 어도비 스와치 교환 파일. 저장소 시험에서 Aseprite 1.3.18은 헤더를 읽지 못한다는 오류를 냄 | 파일이 ASEF 바이트로 시작함 | Lospec 가져오기 안내대로 에이스프라이트에는 .gpl이나 .pal을 받기 |
| Studio에서 해당 이름의 Lospec 팔레트가 없다고 나옴 | 입력한 이름이 팔레트 주소와 다름 | lospec.com에서 팔레트를 열어 주소 끝부분 확인 | 그 슬러그(예: endesga-32)를 입력하거나 받은 파일을 가져오기 |
| Lospec 검색이 네트워크 오류로 실패 | 오프라인이거나 네트워크가 막았거나, lospec.com 접속이 허용된 유일한 곳인 Studio 페이지 밖에서 사용 | 오류 메시지에 실패한 요청이 나옴 | lospec.com에서 .hex를 받아 가져오기. 요청이 필요 없음 |
다른 방법
출력 파일과 검증 방법
"측정 확인"은 내려받은 파일을 페이지 밖에서(Pillow·numpy·별도 파서) 다시 열어 그 속성을 측정했다는 뜻입니다. 게임 엔진에서 불러오는 것은 시험하지 않았습니다.
| 대상 | 파일 | 검증 |
|---|---|---|
| PNG frames | anim_N.png · 1×–8× nearest | 측정 확인 Pillow내보낸 PNG를 다시 읽어 모든 색이 고정 팔레트 안에 있는지 확인했습니다. |
| Palette | .gpl · .hex (Lospec) · .json | 측정 확인 re-import각 형식을 내보내고 UI로 다시 가져와 16 → 16색을 확인했습니다. |
| pixel-lab.json | generic frames + palette | 미검증일반 JSON이며 어떤 엔진에서도 불러오지 않았습니다. |
검증 근거
안티앨리어싱된 프레임 8개 → 16색 팔레트 하나, 팔레트 밖 색 0개. 디더링 없음과 Bayer 4×4 모두에서 변하지 않은 영역이 8프레임 모두 동일. 안티앨리어싱 제거로 271색 → 16색, 실루엣 픽셀 이동 0. 정수 배율·오프셋·2.5배 비정수 배율을 정확히 감지.
한계
- Paint.net .txt와 PNG 팔레트 이미지는 읽지 않습니다. .hex, .gpl, .json을 쓰세요.
- 픽셀 랩은 .gpl, HEX, JSON만 읽으며 다른 형식은 Studio가 필요합니다.
- 이름 검색은 lospec.com에 닿아야 하며 개발 서버에서 실제 요청 한 번으로 확인했습니다. 그 헤더의 Cloudflare 배포는 아직 확인하지 않았습니다.
- 4096 × 4096보다 큰 프레임은 거부합니다. 모든 처리가 메인 스레드에서 돌고 아직 취소 버튼이 없습니다.
- 스프라이트 시트는 이미지 하나로 다룹니다. 먼저 프레임으로 자르세요(스프라이트 시트 자르기).
- 디더링을 켜면 정리 개수에 디더 픽셀이 포함됩니다. 먼저 디더링을 없음으로 두세요.
- 내보내는 JSON은 일반 형식이며 Godot·Unity 가져오기는 시험하지 않았습니다.
버전과 출처
Lospec의 다운로드 목록과 파일 내용은 2026-09-28 lospec.com에서 확인했습니다(PICO-8: 16색, .gpl 480바이트, .hex 128, .pal 199, .ase 652, .txt 402, .json 184). Nerulio: 그 파일들을 팔레트 읽기 두 가지로 모두 읽어 봤고, Studio의 읽기·쓰기는 tests/studio-pixel.test.mjs로 단위 테스트됩니다. 파일 구조는 아래 형식 소유자의 사양을 따릅니다.
참고한 공식 문서
자주 묻는 질문
Lospec에서 팔레트를 가져와 주나요?
아니요. 아무것도 내려받지 않습니다. Lospec에서 팔레트의 HEX 목록이나 .gpl을 복사해 붙여 넣거나 가져오세요. Studio 픽셀 작업 공간은 먼저 동의를 받은 뒤 이름으로 Lospec 팔레트를 불러올 수 있습니다.
내보낸 색이 모두 팔레트 안에 있나요?
네. 시험에서 내보낸 모든 프레임의 색 합집합이 고정 팔레트의 부분집합이었습니다.
무료인가요? 계정이 필요한가요?
이 페이지의 기능은 모두 무료이며 계정 없이 쓸 수 있습니다. 워터마크나 막혀 있는 내보내기가 없습니다.
스프라이트가 업로드되나요?
아니요. Studio는 이 브라우저 탭 안에서 디코딩·패킹·내보내기를 합니다. 프로젝트는 브라우저(IndexedDB)에 자동 저장되며 .nerulio 파일로 저장할 수 있습니다.
Aseprite나 엔진 플러그인을 설치해야 하나요?
아니요. .aseprite 파일은 브라우저에서 읽고 씁니다. 엔진별 번들에는 그 엔진에 필요한 것이 들어 있습니다(Godot는 가져오기 설정과 씬, Unity와 Godot 타일셋은 작은 편집기 스크립트).