Asepriteファイルを開く · インストール不要のビューア
受け取った.asepriteファイルを見たいのに、このPCにAsepriteが入っていない。そんなときはここにドロップしてください。ファイルはこのブラウザのタブ内で解析され、全フレームをAseprite自身のPNG書き出しと同じ方法で合成し、タグはタイムラインですぐ再生できます。
.aseprite・.aseファイルは画像ではなく、Aseprite独自のバイナリ文書です。フレームごとのミリ秒単位の長さ、ブレンドモードと不透明度を持つレイヤー、セル、タグ、スライス、パレットが入っているため、ブラウザや一般的な画像ビューアでは開けません。ここにドロップすると、Nerulioがこのタブの中で解析し、AsepriteのPNG書き出しと同じ方法でフレームを合成し(実ファイル231個をAseprite 1.3.18.6と照合済み)、タグを再生します。Aseprite JSON付きのPNGシート、タグごとのGIF・APNG、新しい.asepriteとして保存もできます。アップロードはありません。

- 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、キャンバスサイズ、色深度があります。1ピクセル32ビットならRGBA、16ビットならアルファ付きグレースケール、8ビットならインデックスカラーで、全ピクセルがパレット番号になり、そのうち1つを透明色に使えます。その後にフレームが続きます。各フレームは16バイトのヘッダーに自分の長さ(ms)を持ち、レイヤー(最初のフレーム)、セル、パレット、タグ、スライス、ユーザーデータ、タイルマップレイヤー用のタイルセットといったチャンクが続きます。
Asepriteの画面で見える絵は、完成画像としてはどこにも保存されていません。表示中のレイヤーを下から上へ描いてフレームを作ります。セル(1レイヤーの1フレーム分のピクセル、固有のx・y位置)を、レイヤー不透明度×セル不透明度で、NormalからDivideまで19種類のブレンドモードのどれかで重ねます。セルは別フレームのピクセルを参照するリンクセルのこともあり、そのフレームだけレイヤー順を入れ替えるz-indexを持つこともあります。最初のレイヤーしか見せない、あるいはブレンドモードを無視するビューアは、Asepriteが決して書き出さない絵を表示します。
Nerulioは、自前の合成処理でレイヤーを描き直した結果がAsepriteのレンダリングとピクセル単位で一致する場合だけレイヤーを保持します。一致しなければ統合したフレームを表示し、理由を記録します。テスト用の実ファイル231個では222個がレイヤー保持、9個が統合でした(グループ合成が再現できない5個、セルz-indexでレイヤー順を変える4個)。どちらでもフレームのピクセルは同じです。
- セル(Cel)
- 1レイヤーの1フレーム分のピクセル。位置と不透明度を個別に持ちます。リンクセルはピクセルの代わりに別フレームのセルを参照します。
- タグ
- 名前付きのフレーム範囲(
from–to)。方向(順方向・逆方向・ピンポン・逆ピンポン)と繰り返し回数を持ちます。繰り返し0は「指定なし」で、Asepriteのエディタでは無限、書き出し時は1回です。 - スライス
- 名前付きの矩形。9パッチの中央やピボット点を持てます。キーはフレーム単位で、あるキーは次のキーまで有効です。
- カラーモード
- RGBA、グレースケール、インデックス。インデックスのファイルはアニメーションの途中でパレットが変わることがあり、番号の1つが透明色です。
具体例:小さなキャラクターファイルを読む
レイヤー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 順方向 ∞ 1サイクル 500 ms
walk 4–9 6 × 100 ms 順方向 ∞ 1サイクル 600 ms
attack 10–15 100,100,100,100,150,250 ms 順方向 ×1 1回再生、800 ms
slices pivot 点 (16, 31)、全フレーム → フレームのピボット、信頼度 高(名前)
hit 20 × 8、フレーム12から → ヒットボックス、信頼度 中(名前)idleをピンポンにすると1サイクルは0-1-2-3-2-1の6ステップ、750 msになります。2つのスライスの推定はインポートパネルの判断項目なので、クリックしてhitをハートボックスに変えたり無視したりできます。
できること
- 19種類のブレンドモード、レイヤーとセルの不透明度、グループ、非表示・参照レイヤー、セルのzインデックス、リンクセルまでAsepriteの書き出しと同じに合成。
- RGBA・グレースケール・インデックスカラーに対応し、フレームごとに変わるパレットと透明インデックスも反映。タイルマップレイヤーはX・Y・斜めの反転込みでタイル単位に描画。
- タグの方向(順・逆・ピンポン・逆ピンポン)と繰り返し回数、フレームごとの長さ(ms)。
- スライスはStudioのデータに。pivot・origin・anchorという名前ならピボット、それ以外は名前からhit・hurt・interact・カスタムのボックスに、9パッチは中央領域を保持。
使い方
- .asepriteか.aseファイルをStudioのどこかにドロップ。
- インポートパネルで、レイヤーを保ったか統合したかとその理由、各スライスの割り当てを信頼度付きで確認。
- Enterで現在のタグを再生し、, と . で1コマずつ送り、オニオンスキン(F3)やフローティングプレビュー(F7、最大8倍)を使う。
- タイムラインでフレームをクリックすると、フレームパネルに長さ・ピボット・ボックスが出ます。
- 別の形式で残すなら、パック&書き出し(PNGシート+Aseprite JSON、タグごとのGIF・APNG)か、スプライトメニューの「.aseprite を書き出し…」を使う。
ビューアから保存できるもの
| ファイル | 用途 |
|---|---|
hero.png + hero.json | パック&書き出し › Aseprite JSON(ハッシュまたは配列):frames、meta.frameTags、meta.slicesを持つパック済みシート1枚。Aseprite自身のスプライトシート書き出しと同じ構造です。Asepriteからスプライトシートへを参照。 |
hero_idle.gif … | パック&書き出し › Animated GIF:タグごとに1ファイル、ディレイは1/100秒単位に丸め。AsepriteからGIFへを参照。 |
hero_idle.png … | パック&書き出し › APNG:タグごとにアニメーションPNG 1つ、全ピクセルとミリ秒がそのまま。 |
hero.aseprite | スプライト › .aseprite書き出し…:レイヤー・タグ・長さ・スライスを持つ、Asepriteで開ける新しいファイル。ドロップした元ファイルは変わりません。 |
結果の確認
- インポートパネルのレイヤー判断:「layered」はレイヤー行が全フレームでAsepriteのレンダリングを再現するという意味、「flattened」には理由と最初に食い違ったフレームが書かれます。
,と.でタグを1フレームずつ送り、フレームパネルで長さを読みます。合計が1サイクルです(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」1枚になる | セル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 / 4 | atlas JSON (multiatlas) · .anims.json | 検証済み Phaser 3.90 + 4.2両バージョンでフレームとアニメーションを描画。 |
| PixiJS 8 | spritesheet JSON · animations · anchor · meta.scale | 検証済み PixiJS 8.21回転・複数ページのアトラスも確認。 |
| Aseprite JSON | hash / array · frameTags · slices | 検証済み Phaser load.aseprite · PixiJS 8.21タグの方向と繰り返し回数を保持。 |
| .aseprite | layers · tags · durations · slices | 検証済み Aseprite 1.3.18Asepriteのコマンドラインで開いて描画。 |
| Spine / libGDX | .atlas | 検証済み spine-canvas 4.2Spineランタイムで回転・トリム領域をすべて描画。libGDX本体は未実行。 |
| Starling / Sparrow XML | XML per page | 検証済み Phaser 4.2Phaser 3.90はトリムされたXMLフレームを誤って描画します(Phaser側の不具合)。「Sparrow XML (Phaser 3)」プリセットはトリムを切り、3.90・4.2とも合格。 |
| LÖVE | Lua quads · nerulio_atlas.lua · main.lua | 検証済み LÖVE 11.5同梱ヘルパーで全フレームを描画し、全アニメーションを再生。 |
| Defold | .atlas · .tilesource | ビルド確認 Defold bob.jar 1.13.1Defoldのコマンドラインビルダーでビルドし、生成テクスチャのUVを読み戻して確認。 |
| GameMaker | spr_<name>_stripN.png · gamemaker.json | 未検証GameMakerでは読み込んでいません(ヘッドレス実行不可)。ストリップはGameMakerの取り込み方式どおりに切ります。 |
| CSS sprites | .css · preview .html | 検証済み Chromium同梱スタイルシートで全クラスを描画。 |
| GIF / APNG | one 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なしでaseprite をpngに変換できますか?
はい。パック&書き出しがフレームを正確なPNGライターでアトラスのページに描き(1ページが256色以下ならインデックスPNG)、選んだ書き出し先のデータファイルと一緒に出力します。動く絵が必要なら、タグごとに全ピクセルを保つAPNGを使ってください。
レイヤーが1枚に統合されたのはなぜ?
合成し直して元とピクセルが完全に一致する場合だけレイヤーを保ちます。テスト用の231ファイルでは222本が一致し、残り9本(グループ合成が異なる5本、セルのzインデックスを使う4本)はインポートパネルに理由を出して統合しました。見た目のフレームは同じです。
ここで開くと元のファイルが変わりますか?
変わりません。ブラウザは読むだけです。新しい.asepriteは「.aseprite を書き出し…」を選んだときだけ作られ、そうして書き直した231ファイルを本物のAseprite 1.3.18.6で開いたところ、すべて警告なしで開き、タグ・長さ・ピクセルも同じでした。
無料ですか?アカウントは必要ですか?
このページの機能はすべて無料で、アカウントなしで使えます。透かしや制限された書き出しはありません。
スプライトはアップロードされますか?
いいえ。Studioはこのブラウザのタブ内でデコード・パック・書き出しを行います。プロジェクトはブラウザ(IndexedDB)に自動保存され、.nerulioファイルとして保存できます。
Asepriteやエンジンのプラグインは必要ですか?
いいえ。.asepriteファイルはブラウザで読み書きします。エンジン別のバンドルには必要なものが入っています(Godotはインポート設定とシーン、UnityとGodotのタイルセットは小さなエディタースクリプト)。