본문으로 건너뛰기

Aseprite 파일 열기 · 설치 없는 .aseprite 뷰어

받은 .aseprite 파일을 열어 보고 싶은데 이 컴퓨터에 에이스프라이트가 없다면 여기에 끌어다 놓으세요. 파일은 이 브라우저 탭 안에서 해석되고, 모든 프레임을 Aseprite의 PNG 내보내기와 똑같이 합성하며, 태그는 타임라인에서 바로 재생됩니다.

.aseprite·.ase 파일은 이미지가 아니라 Aseprite 전용 바이너리 문서입니다. 프레임마다 밀리초 단위 길이, 블렌드 모드와 불투명도가 있는 레이어, 셀, 태그, 슬라이스, 팔레트가 들어 있어 브라우저나 일반 이미지 뷰어로는 열리지 않습니다. 여기에 끌어다 놓으면 Nerulio가 이 탭 안에서 파일을 해석해 Aseprite의 PNG 내보내기와 같은 방식으로 프레임을 합성하고(실제 파일 231개를 Aseprite 1.3.18.6과 비교해 확인), 태그를 재생하며, Aseprite JSON이 딸린 PNG 시트, 태그별 GIF·APNG, 새 .aseprite로 저장할 수 있습니다. 업로드는 없습니다.

스프라이트 시트, 번호 붙은 프레임, GIF·APNG 또는 .aseprite 파일을 끌어다 놓으세요
빈 Studio 열기
브라우저에서 처리하며 파일은 업로드되지 않습니다.
Studio 스프라이트 작업 공간: 태그 4개(정방향·역방향·핑퐁·반복 횟수), 프레임별 길이, 슬라이스에서 온 히트박스가 있는 .aseprite 파일
CC0 에셋(Nerulio)을 연 실제 Studio 화면입니다.
내보내기 대상
  • Aseprite JSON검증됨· Phaser load.aseprite · PixiJS 8.21
  • .aseprite검증됨· Aseprite 1.3.18
  • Godot 4검증됨· Godot 4.7.2
  • Unity 6검증됨· Unity 6000.5.3f1
  • Phaser 3 / 4검증됨· Phaser 3.90 + 4.2
  • PixiJS 8검증됨· PixiJS 8.21
  • Spine / libGDX검증됨· spine-canvas 4.2
  • Starling / Sparrow XML검증됨· Phaser 4.2
  • LÖVE검증됨· LÖVE 11.5
  • Defold빌드 확인· Defold bob.jar 1.13.1
  • GameMaker미검증
  • CSS sprites검증됨· Chromium
  • GIF / APNG디코딩 확인· Pillow

.aseprite 파일 안에 든 것

이 형식은 Aseprite 프로젝트가 직접 문서로 공개합니다. 128바이트 헤더에 매직 넘버 0xA5E0, 캔버스 크기, 색 깊이가 있습니다. 픽셀당 32비트면 RGBA, 16비트면 알파가 있는 그레이스케일, 8비트면 인덱스 컬러로, 모든 픽셀이 팔레트 번호이고 그중 하나를 투명색으로 씁니다. 그 뒤에 프레임이 이어집니다. 프레임마다 16바이트 헤더에 자기 길이(ms)가 있고, 이어서 레이어(첫 프레임), 셀, 팔레트, 태그, 슬라이스, 사용자 데이터, 타일맵 레이어용 타일셋 같은 청크가 옵니다.

Aseprite 화면에 보이는 그림은 완성된 이미지로 저장돼 있지 않습니다. 보이는 레이어를 아래에서 위로 그려서 프레임을 만듭니다. 셀(한 레이어의 한 프레임 픽셀, 자기 x·y 위치)을 레이어 불투명도 × 셀 불투명도로, Normal부터 Divide까지 19가지 블렌드 모드 중 하나로 섞습니다. 셀은 다른 프레임의 픽셀을 그대로 가리키는 링크 셀일 수 있고, 그 프레임에서만 레이어 순서를 바꾸는 z-index를 가질 수도 있습니다. 첫 레이어만 보여 주거나 블렌드 모드를 무시하는 뷰어는 Aseprite가 절대 내보내지 않을 그림을 보여 줍니다.

Nerulio는 자체 합성기로 레이어를 다시 그렸을 때 Aseprite 렌더와 픽셀이 완전히 같을 때만 레이어를 유지합니다. 아니면 합쳐진 프레임을 보여 주고 이유를 적습니다. 테스트용 실제 파일 231개 중 222개는 레이어가 유지됐고 9개는 합쳐졌습니다(그룹 합성이 달라지는 5개, 셀 z-index로 레이어 순서를 바꾸는 4개). 어느 쪽이든 프레임 픽셀은 같습니다.

셀(Cel)
한 레이어의 한 프레임 픽셀. 위치와 불투명도를 따로 가집니다. 링크 셀은 픽셀 대신 다른 프레임의 셀을 가리킵니다.
태그
이름 붙은 프레임 구간(from–to). 방향(정방향·역방향·핑퐁·역핑퐁)과 반복 횟수가 있습니다. 반복 0은 “지정 안 함”으로, Aseprite 편집기에서는 무한, 내보낼 때는 한 번입니다.
슬라이스
이름 붙은 사각형. 9-패치 중앙이나 피벗 점을 가질 수 있고, 키가 프레임별로 있어 한 키는 다음 키가 나올 때까지 유지됩니다.
컬러 모드
RGBA, 그레이스케일, 인덱스. 인덱스 파일은 애니메이션 도중 팔레트가 바뀔 수 있고 번호 하나가 투명색입니다.

예시: 작은 캐릭터 파일 읽기

레이어 3개, 태그 3개인 32 × 32 RGBA 파일을 넣었을 때 가져오기 패널과 타임라인이 보여 주는 내용, 그리고 거기서 계산되는 타이밍입니다.

hero.aseprite  32 × 32 px · RGBA · 16프레임 · 레이어 3 · 태그 3 · 슬라이스 2
layers  outline  Normal    255
        shadow   Multiply  128   (아래 레이어 위에 128/255 ≈ 50 %로 그림)
        body     Normal    255
tags    idle    0–3    4 × 125 ms                    정방향 ∞   한 사이클 500 ms
        walk    4–9    6 × 100 ms                    정방향 ∞   한 사이클 600 ms
        attack  10–15  100,100,100,100,150,250 ms    정방향 ×1  한 번 재생, 800 ms
slices  pivot  점 (16, 31), 모든 프레임       → 프레임 피벗, 신뢰도 높음(이름)
        hit    20 × 8, 12번 프레임부터         → 히트 박스, 신뢰도 중간(이름)

idle을 핑퐁으로 바꾸면 한 사이클이 0-1-2-3-2-1, 여섯 단계 750 ms가 됩니다. 슬라이스 두 개의 추정은 가져오기 패널의 결정 항목이라, 클릭해서 hit을 허트 박스로 바꾸거나 무시할 수 있습니다.

이렇게 작동합니다

  • 블렌드 모드 19종, 레이어·셀 불투명도, 그룹, 숨긴 레이어와 참조 레이어, 셀 z-index, 링크된 셀까지 Aseprite 내보내기와 같게 합성합니다.
  • RGBA·그레이스케일·인덱스 컬러를 모두 읽고, 프레임마다 바뀌는 팔레트와 투명 인덱스도 반영합니다. 타일맵 레이어는 X·Y·대각선 뒤집기까지 타일 단위로 그립니다.
  • 태그의 방향(정방향·역방향·핑퐁·역핑퐁)과 반복 횟수, 프레임마다의 길이(ms).
  • 슬라이스는 Studio 데이터가 됩니다. pivot·origin·anchor라는 이름이면 피벗, 나머지는 이름을 보고 hit·hurt·interact·사용자 박스로, 9-패치 슬라이스는 중앙 영역을 그대로 둡니다.

사용 방법

  1. .aseprite나 .ase 파일을 Studio 아무 곳에나 끌어다 놓습니다.
  2. 가져오기 패널에서 레이어를 유지했는지 합쳤는지와 그 이유, 슬라이스가 무엇이 됐는지를 신뢰도와 함께 봅니다.
  3. Enter로 현재 태그를 재생하고 , . 키로 한 칸씩 넘기며, 어니언 스킨(F3)이나 떠 있는 미리보기(F7, 최대 8배)를 켭니다.
  4. 타임라인에서 프레임을 누르면 프레임 패널에 길이·피벗·박스가 나옵니다.
  5. 다른 형식으로 남기려면 패킹·내보내기(PNG 시트+Aseprite JSON, 태그별 GIF·APNG)나 스프라이트 메뉴의 .aseprite로 내보내기…를 씁니다.

뷰어에서 저장할 수 있는 것

파일용도
hero.png + hero.json패킹·내보내기 › Aseprite JSON(해시 또는 배열): frames, meta.frameTags, meta.slices가 있는 패킹 시트 한 장. Aseprite 자체 스프라이트 시트 내보내기와 같은 구조입니다. Aseprite를 스프라이트 시트로 참고.
hero_idle.gif …패킹·내보내기 › Animated GIF: 태그마다 파일 하나, 지연은 1/100초 단위로 반올림. Aseprite를 GIF로 참고.
hero_idle.png …패킹·내보내기 › APNG: 태그마다 애니메이션 PNG 하나, 모든 픽셀과 밀리초가 그대로.
hero.aseprite스프라이트 › .aseprite 내보내기…: 레이어·태그·길이·슬라이스를 담은, Aseprite가 여는 새 파일. 넣은 원본은 바뀌지 않습니다.

결과 확인

  • 가져오기 패널의 레이어 결정: “layered”는 레이어 행이 모든 프레임에서 Aseprite 렌더를 그대로 재현한다는 뜻이고, “flattened”에는 이유와 처음 달라진 프레임이 적힙니다.
  • ,와 .로 태그를 한 프레임씩 넘기며 프레임 패널에서 길이를 읽으세요. 합이 한 사이클입니다(walk: 6 × 100 ms = 600 ms).
  • Enter로 태그를 재생하세요. 반복 ×1이면 마지막 프레임에서 멈추고, ∞이면 계속 돕니다.

.aseprite 파일에서 읽는 것

파일 안의 정보Studio에서 보이는 모습비교 기준
레이어·그룹·블렌드 모드·불투명도타임라인의 레이어 줄. 똑같이 재현할 수 없으면 이유와 함께 합침Aseprite 1.3.18.6 프레임 내보내기: 231/231 픽셀 일치
태그와 프레임 길이프레임 위 태그 줄과 프레임별 ms. 재생이 방향과 반복을 따름Aseprite 스크립트로 본 값: 231/231 동일
슬라이스: 피벗·일반·9-패치프레임 피벗, hit·hurt·interact·사용자 박스, 9-슬라이스 테두리슬라이스가 있는 코퍼스 파일 31개
타일맵 레이어와 타일셋뒤집기를 포함해 타일 단위로 프레임에 그림타일맵이 있는 코퍼스 파일 23개
인덱스·그레이스케일 컬러Aseprite PNG 내보내기처럼 인덱스로 합성한 풀컬러인덱스 54개, 그레이스케일 13개 파일

ICC 색 프로필은 읽어서 보관하지만 색에 적용하지는 않습니다. Aseprite의 PNG 내보내기도 적용하지 않습니다.

문제 해결

증상유력한 원인확인 방법해결
“Aseprite 파일이 아님” 또는 “일찍 끝남”헤더가 Aseprite 매직 넘버 0xA5E0으로 시작하지 않거나(다른 프로그램의 .ase 파일), 내려받기가 중간에 끊겼습니다원본과 파일 크기를 비교하고, 가능하면 Aseprite로 열어 봅니다완전한 원본 파일을 받으세요. 다른 프로그램이 만든 .ase는 여기서 읽을 수 없습니다
레이어가 “Flattened” 한 줄로 보임셀 z-index나 그룹 합성처럼 레이어를 따로 두면 똑같이 재현되지 않는 기능을 씁니다가져오기 패널의 레이어 결정에 이유와 프레임이 있습니다프레임 픽셀은 정확합니다. 레이어별로 작업하려면 Aseprite에서 레이어 구조를 고친 뒤 다시 가져오세요
Aseprite에서 보이던 레이어가 프레임에 없음숨긴 레이어(눈 꺼짐)이거나 참조 레이어입니다. Aseprite 내보내기도 둘 다 빼고, Nerulio도 같습니다가져오기 패널의 레이어 목록, 또는 Aseprite의 눈 아이콘Aseprite에서 레이어를 보이게 하고 저장하세요. 참조 레이어는 프레임에 들어가지 않습니다
슬라이스가 엉뚱한 박스가 되거나 피벗이 없음박스 종류는 슬라이스 이름(hit, hurt …)으로 추정하고, 피벗은 이름이 pivot·origin·anchor인 슬라이스, 없으면 피벗 점이 있는 첫 슬라이스입니다가져오기 패널: 슬라이스마다 결정과 신뢰도맞는 종류(hit, hurt, interact, custom)를 고르거나 무시하세요. 피벗 슬라이스가 없는 프레임은 아래 가운데를 씁니다
색이 Aseprite 캔버스와 조금 다름파일에 ICC 색 프로필이 있습니다. 프로필은 보존하지만 적용하지 않으며, Aseprite의 PNG 내보내기도 같습니다Aseprite의 색 프로필 설정편집기 캔버스가 아니라 Aseprite에서 내보낸 PNG와 비교하세요

다른 방법

방법이럴 때 더 낫습니다
Aseprite 본체레이어·그룹·타일맵·스크립트까지 모든 기능으로 파일을 고쳐야 할 때. 여기서 여는 것은 읽기 전용입니다.
Aseprite 명령줄(aseprite -b)Aseprite가 있고 스크립트로 결과물을 뽑고 싶을 때: --sheet, --data, --list-tags, --list-slices, 태그별 GIF는 --save-as에 {tag}.
브라우저용 Aseprite 대안파일을 열기만 하는 게 아니라 그리고 애니메이션을 만들고 싶을 때.

엔진별 내보내기와 검증 방법

"검증됨"은 실제 CC0 에셋으로 내보낸 파일을 해당 엔진·도구가 직접 불러와 원본과 비교했다는 뜻입니다. 불러오지 않은 형식은 그렇게 표시합니다.

대상파일검증
Godot 4.tres SpriteFrames · .tscn AnimatedSprite2D · .png.import검증됨 Godot 4.7.2Godot가 불러와 모든 애니메이션 프레임을 그려 원본과 비교했습니다. 씬은 Nearest 필터를 쓰고 회전은 쓰지 않습니다.
Unity 6.unity.json · Editor/NerulioSpriteImporter.cs · AnimationClip검증됨 Unity 6000.5.3f1배치 모드에서 스프라이트 영역·피벗·픽셀·클립 키·길이를 확인했습니다.
Phaser 3 / 4atlas JSON (multiatlas) · .anims.json검증됨 Phaser 3.90 + 4.2두 버전 모두에서 프레임과 애니메이션을 그렸습니다.
PixiJS 8spritesheet JSON · animations · anchor · meta.scale검증됨 PixiJS 8.21회전·여러 페이지 아틀라스도 포함해 확인했습니다.
Aseprite JSONhash / array · frameTags · slices검증됨 Phaser load.aseprite · PixiJS 8.21태그의 방향과 반복 횟수가 유지됩니다.
.asepritelayers · tags · durations · slices검증됨 Aseprite 1.3.18Aseprite 명령줄로 열어 렌더링했습니다.
Spine / libGDX.atlas검증됨 spine-canvas 4.2Spine 런타임이 회전·트림 영역을 모두 그렸습니다. libGDX 자체는 실행하지 않았습니다.
Starling / Sparrow XMLXML per page검증됨 Phaser 4.2Phaser 3.90은 트림된 XML 프레임을 잘못 그립니다(Phaser 버그). "Sparrow XML (Phaser 3)" 프리셋은 트림을 끄며 3.90·4.2 모두 통과합니다.
LÖVELua quads · nerulio_atlas.lua · main.lua검증됨 LÖVE 11.5포함된 헬퍼로 모든 프레임을 그리고 모든 애니메이션을 재생했습니다.
Defold.atlas · .tilesource빌드 확인 Defold bob.jar 1.13.1Defold 명령줄 빌더로 빌드하고 빌드된 텍스처의 UV를 다시 읽어 확인했습니다.
GameMakerspr_<name>_stripN.png · gamemaker.json미검증GameMaker에서 불러오지 않았습니다(헤드리스 실행 불가). 스트립은 GameMaker 스트립 가져오기 방식대로 자릅니다.
CSS sprites.css · preview .html검증됨 Chromium포함된 스타일시트로 모든 클래스를 그렸습니다.
GIF / APNGone file per animation디코딩 확인 Pillow내보낸 뒤 모든 프레임과 지연 시간을 다시 디코딩했습니다. APNG는 원본과 동일합니다.

검증 근거

GIF 디코더: 실제 GIF 29개 408/408프레임이 Pillow와 동일, APNG 16개 132/132프레임. .aseprite: 코퍼스 231개 파일을 가져와 다시 쓰고 Aseprite 1.3.18로 열었을 때 태그·길이·픽셀 231/231 일치. 내보내기: 실제 CC0 에셋으로 실제 엔진에서 49회 실행해 47회 통과. 실패 2회는 Phaser 3.90의 트림 XML 버그이며 Phaser 3 프리셋으로 피합니다.

한계

  • 그룹 레이어는 그룹으로 남지 않습니다. 가장 안쪽 레이어마다 arms/left처럼 그룹 경로를 이름으로 단 행이 됩니다.
  • 참조 레이어는 Aseprite 내보내기처럼 건너뜁니다.
  • 격자·섬 인식은 신뢰도가 표시된 미리보기일 뿐이며 적용을 누르기 전에는 아무것도 자르지 않습니다. 모든 선택에는 한 번에 바꿀 수 있는 대안이 있습니다.
  • 레이어가 정확히 합성되지 않는 .aseprite 파일(그룹 불투명도 등)은 합쳐서 가져오고, 가져오기 패널에 이유를 표시합니다.
  • 가져온 아틀라스에서 회전된 프레임은 회전된 채로 남으며 그 내보내기는 미검증입니다.
  • 이미지는 한 변 32,768px(2억 6,800만 픽셀)까지이며 브라우저 메모리에 따라 달라집니다.

버전과 출처

읽기 코드는 Aseprite 파일 형식 명세를 따르며 실제 .aseprite 파일 231개로 확인했습니다. 파일마다 가져온 뒤 Nerulio 기록기로 다시 써서 Aseprite 1.3.18.6에서 열었고, 경고 없이 태그(231/231), 길이(231/231), 픽셀(231/231)이 같았습니다. 레이어 결정도 같은 파일 묶음에서 나온 결과입니다(222개 유지, 9개 합침). 형식에 관한 설명은 명세와 Aseprite 공식 문서를 따릅니다.

참고한 공식 문서

자주 묻는 질문

에이스프라이트 없이 aseprite를 png로 바꿀 수 있나요?

네. 패킹·내보내기가 프레임을 정확한 PNG 기록기로 아틀라스 페이지에 그리고(한 페이지 색이 256개 이하면 인덱스 PNG), 고른 대상의 데이터 파일을 함께 줍니다. 움직이는 그림이 필요하면 태그마다 픽셀을 그대로 두는 APNG를 쓰세요.

레이어가 하나로 합쳐진 이유는?

다시 합성했을 때 원본과 픽셀이 완전히 같을 때만 레이어를 유지합니다. 테스트 파일 231개 중 222개가 그랬고, 나머지 9개(그룹 합성이 다른 5개, 셀 z-index를 쓰는 4개)는 가져오기 패널에 이유를 남기고 합쳤습니다. 보이는 프레임은 같습니다.

여기서 열면 원본 파일이 바뀌나요?

아니요. 브라우저는 읽기만 합니다. 새 .aseprite는 .aseprite로 내보내기…를 고를 때만 만들어지며, 그렇게 다시 쓴 파일 231개를 실제 Aseprite 1.3.18.6에서 열었더니 모두 경고 없이 열리고 태그·길이·픽셀이 같았습니다.

무료인가요? 계정이 필요한가요?

이 페이지의 기능은 모두 무료이며 계정 없이 쓸 수 있습니다. 워터마크나 막혀 있는 내보내기가 없습니다.

스프라이트가 업로드되나요?

아니요. Studio는 이 브라우저 탭 안에서 디코딩·패킹·내보내기를 합니다. 프로젝트는 브라우저(IndexedDB)에 자동 저장되며 .nerulio 파일로 저장할 수 있습니다.

Aseprite나 엔진 플러그인을 설치해야 하나요?

아니요. .aseprite 파일은 브라우저에서 읽고 씁니다. 엔진별 번들에는 그 엔진에 필요한 것이 들어 있습니다(Godot는 가져오기 설정과 씬, Unity와 Godot 타일셋은 작은 편집기 스크립트).