Export
Spine can export a single image, sequence of images, video, and JSON or binary data.
To open the Export
dialog, press ctrl+E
(cmd+E
on Mac) or click the Spine logo in the upper left of Spine and choose Export
from the menu.
JSON
Spine can export all of the skeleton data as JSON. This data can then be loaded by a Spine runtime and displayed in your applications just as it is in Spine
JSON has some advantages over binary. Most changes to the Spine export format don't invalidate previously exported JSON data. JSON is also human readable and easy for code to parse. The downside is that JSON data is larger and parsing the data is slower.
See JSON Format for detailed information about the JSON data that is exported.
Output folder
A JSON file will be created in this folder for each skeleton in your project. The name of the file will use the name of the skeleton.Extension
The JSON files will use this file extension.Format
Spine can optionally write in JSON-like formats that are slightly smaller, easier to read, and easier to edit.JSON
Standard JSON.JavaScript
Like JSON, but names are only quoted if necessary. The output is valid JavaScript.Minimal
Like JSON, but names and values are only quoted if they don't containrnt
orspace
and don't begin with/{}[]:,"
. Additionally, names cannot contain:
and values cannot contain}],
. This format requires a lenient JSON parser, such as the one in libgdx.Pretty print
When checked, the JSON is formatted nicely so it is more easily ready by humans. This makes the file slightly larger.Nonessential data
When checked, additional data is included in the JSON that is not needed to rendering the skeletons. This makes the file slightly larger. This data is needed if the JSON will be imported back into Spine. See Import for more information.Animation clean up
When checked, animation cleaned up is performed before export. This does not modify the project file.Warnings
When checked, Spine will show any warning messages after exporting.Pack
When checked, it packs either only the images used by attachments or each skeleton's images folder into a texture atlas. This is convenient but running the texture packer separately provides more control over the packing. See Texture Packing for more information.
Binary
Spine can export all of the skeleton data as binary. This data can then be loaded by a Spine runtime and displayed in your applications just as it is in Spine.
Binary has some advantages over JSON. It is smaller and fast to parse by code, but it is not human readable. The downside is that any changes to the Spine export format will invalidate any previously exported binary data, which then needs to be exported again.
See Binary Format for detailed information about the binary data that is exported.
Output folder
A binary file will be created in this folder for each skeleton in your project. The name of the file will use the name of the skeleton.Extension
The binary files will use this file extension.Nonessential data
When checked, additional data is included in the binary data that is not needed to rendering the skeletons. This makes the file slightly larger. This data is needed if the binary data will be imported back into Spine. See Import for more information.Animation clean up
When checked, animation cleaned up is performed before export. This does not modify the project file.Warnings
When checked, Spine will show any warning messages after exporting.Pack
When checked, it packs either only the images used by attachments or each skeleton's images folder into a texture atlas. This is convenient but running the texture packer separately provides more control over the packing. See Texture Packing for more information.
GIF
Spine can export an animated GIF, making it easy to share on the Internet. GIF is an image format with only 256 colors and doesn't support translucency, so some loss of quality may occur. Spine's GIF export is very sophisticated and produces the highest quality GIFs that are possible, but does not prioritize for a small file size.
Export type
The type of export to perform.Animations
The current animation, all the animations, or an animation from the dropdown menu are exported as an animated GIF.Current pose
The current skeleton pose is exported as a static GIF.Skins
The current skin, all the skins, or all plus the version where no skin is active are exported.
Defaults
Resets all the settings to the defaults.Preview
Opens the preview panel for the export window.Output type
Either creates a single file or a file per frame.Output file
The GIF file to write.Animation repeat
The number of times to play each animation.Pause after
The number of seconds to pause after playing each animation.Bones
If checked, skeleton bones will be rendered.Images
If checked, skeleton images will be rendered.Others
If checked, other skeleton elements such as paths will be rendered.Linear filtering
If checked, Linear filtering will be applied to the image.Multisample AA
The depth of multisample anti-aliasing to apply to the image.Viewport crop
If checked, it enables cropping the image to a custom dimension. The amount of X and Y offset of the cropping area can be specified in the first two boxes. The size of the area can be specified in pixels in the last two boxes. Enabling this setting also allows resizing the box in the export preview by dragging the orange corners.Size
The type of Resizing to perform.Scale
The relative scale of the image as a percentage.Fit
When selected, the output image will fit within the specified pixel values.Enlarge
If checked, and the content is smaller than the specified size, the content of the image is proportionally stretched until one of the sides matches the specified size.Pad
If checked, additional space is added to the image to match the specified size.
Range
If checked, only the specified frames will be exported.Colors
The maximum number of colors in the GIF.Color dither
The amount of dither to apply to the GIF colors. Dither disperses the colors to prevent hard edges in gradients.Alpha threshold
Alpha values below this value are treated as 0.Alpha dither
The amount of dither to apply to the GIF transparency. Dither disperses transparency to prevent hard edges.Background
The background color to use.Transparent
When checked, completely transparent pixels will be transparent instead of the background color. When unchecked, the specified color is used for the background of the GIF.Matte
Translucent pixels are made opaque using the matte color.
Quality
Higher quality produces better colors but takes longer to export.FPS
The number of frames per second for the GIF animation. 50 generally provides the best results.Forever
When checked, the animation is looped continuously.Include last frame
When unchecked, the last frame of each animation is omitted. Unchecking this is useful for looping animations where the first and last frame are identical -- the same frame would be exported twice when this setting is checked.
PNG
Spine can export PNG images. PNG is a lossless image format that supports transparency, so no loss of quality will occur.
Export type
The type of export to perform.Animations
The current animation, all the animations, or an animation from the dropdown menu are exported as a PNG sequence.Current pose
The current skeleton pose is exported as a single PNG.Skins
The current skin, all the skins, or all plus the version where no skin is active are exported.
Defaults
Resets all the PNG settings to the defaults.Preview
Opens the preview panel for the export window.Output prefix
Either creates a single file or a file per frame.Bones
If checked, skeleton bones will be rendered.Images
If checked, skeleton images will be rendered.Others
If checked, other skeleton elements such as paths will be rendered.Linear filtering
If checked, Linear filtering will be applied to the image.Multisample AA
The depth of multisample anti-aliasing to apply to the image.Viewport crop
If checked, it enables cropping the image to a custom dimension. The amount of X and Y offset of the cropping area can be specified in the first two boxes. The size of the area can be specified in pixels in the last two boxes. Enabling this setting also allows resizing the box in the export preview by dragging the orange corners.Size
The type of Resizing to perform.Scale
The relative scale of the image as a percentage.Fit
When selected, the output image will fit within the specified pixel values.Enlarge
If checked, and the content is smaller than the specified size, the content of the image is proportionally stretched until one of the sides matches the specified size.Pad
If checked, additional space is added to the image to match the specified size.
Range
If checked, only the specified frames will be exported.Background
The background color to use.Transparent
When checked, the background of the PNG is set to transparent.
Compression
Higher compression produces smaller files but takes longer to export.FPS
The number of frames per second for the PNG sequence.Include last frame
When unchecked, the last frame of each animation is omitted. Unchecking this is useful for looping animations where the first and last frame are identical -- the same frame would be exported twice when this setting is checked.Pack
When checked, the exported images are packed into a texture atlas. This is convenient but running the texture packer separately provides more control over the packing. See Texture Packing for more information.
APNG
Spine can export APNG images. APNG is a lossless animated image format that supports transparency, so no loss of quality will occur. It is supported by most modern browsers and has much higher quality than GIF, but the file size is usually larger.
Export type
The type of export to perform.Animations
The current animation, all the animations, or the selected animation is exported as an APNG sequence.Current pose
The current skeleton pose is exported as a single APNG.Skins
The current skin, all the skins, or all plus the version where no skin is active are exported.
Defaults
Resets all the APNG settings to the defaults.Preview
Opens the preview panel for the export window.Output file
An APNG will be created in this folder.Animation repeat
The number of times to play each animation.Pause after
The number of seconds to pause after playing each animation.Bones
If checked, skeleton bones will be rendered.Images
If checked, skeleton images will be rendered.Others
If checked, other skeleton elements such as paths will be rendered.Linear filtering
If checked, Linear filtering will be applied to the image.Multisample AA
The depth of multisample anti-aliasing to apply to the image.Viewport crop
If checked, it enables cropping the image to a custom dimension. The amount of X and Y offset of the cropping area can be specified in the first two boxes. The size of the area can be specified in pixels in the last two boxes. Enabling this setting also allows resizing the box in the export preview by dragging the orange corners.Size
The type of Resizing to perform.Scale
The relative scale of the image as a percentage.Fit
When selected, the output image will fit within the specified pixel values.Enlarge
If checked, and the content is smaller than the specified size, the content of the image is proportionally stretched until one of the sides matches the specified size.Pad
If checked, additional space is added to the image to match the specified size.
Range
If checked, only the specified frames will be exported.Background
The background color to use.Transparent
When checked, the background of the APNG is set to transparent.
Compression
Higher compression produces smaller files but takes longer to export.FPS
The number of frames per second for the PNG sequence.Forever
When checked, the animation is looped continuously.Include last frame
When unchecked, the last frame of each animation is omitted. Unchecking this is useful for looping animations where the first and last frame are identical -- the same frame would be exported twice when this setting is checked.
PSD
Spine can export PSD images. A layer for each animation frame will be created inside the PSD file. This can be useful to export the current pose in the middle of an animation as layers in a PSD so you can more easily redraw attachment images for that pose.
Export type
The type of export to perform.Animations
The current animation, all the animations, or the selected animation is exported as a PSD sequence.Current pose
The current skeleton pose is exported as a single PSD.Layers
The current skeleton pose is exported as a PSD with a layer for each visible attachment.Frame
The current skeleton pose is exported as a single layer frame.
Skins
The current skin, all the skins, or all plus the version where no skin is active are exported.
Defaults
Resets all the PSD settings to the defaults.Preview
Opens the preview panel for the export window.Output type
Either creates a single file or a file per frame.Output file
The PSD file to write.Bones
If checked, skeleton bones will be rendered.Images
If checked, skeleton images will be rendered.Others
If checked, other skeleton elements such as paths will be rendered.Linear filtering
If checked, Linear filtering will be applied to the image.Multisample AA
The depth of multisample anti-aliasing to apply to the image.Viewport crop
If checked, it enables cropping the image to a custom dimension. The amount of X and Y offset of the cropping area can be specified in the first two boxes. The size of the area can be specified in pixels in the last two boxes. Enabling this setting also allows resizing the box in the export preview by dragging the orange corners.Size
The type of Resizing to perform.Scale
The relative scale of the image as a percentage.Fit
When selected, the output image will fit within the specified pixel values.Enlarge
If checked, and the content is smaller than the specified size, the content of the image is proportionally stretched until one of the sides matches the specified size.Pad
If checked, additional space is added to the image to match the specified size.
Range
If checked, only the specified frames will be exported.Background
The background color to use.Transparent
When checked, the background of the images within the PSD is set to transparent.
Encoding
The type of compression to use to create the PSD.RAW
An uncompressed format. Encoding is fast but the exported PSD is very large.RLE
Encoding is fast and the exported PSD is small.ZLIB
Encoding is slow and the exported PSD is very small.
FPS
The number of frames per second for the PSD image sequence.Include last frame
When unchecked, the last frame of each animation is omitted. Unchecking this is useful for looping animations where the first and last frame are identical -- the same frame would be exported twice when this setting is checked.
JPEG
Spine can export JPEG images. JPEG is a lossy image format that does not support transparency, so some loss of quality may occur.
Export type
The type of export to perform.Animations
The current animation, all the animations, or an animation from the dropdown menu are exported as a JPEG sequence.Current pose
The current skeleton pose is exported as a single JPEG.Skins
The current skin, all the skins, or all plus the version where no skin is active are exported.
Defaults
Resets all the JPEG settings to the defaults.Preview
Opens the preview panel for the export window.Output prefix
Either creates a single file or a file per frame.Bones
If checked, skeleton bones will be rendered.Images
If checked, skeleton images will be rendered.Others
If checked, other skeleton elements such as paths will be rendered.Linear filtering
If checked, Linear filtering will be applied to the image.Multisample AA
The depth of multisample anti-aliasing to apply to the image.Viewport crop
If checked, it enables cropping the image to a custom dimension. The amount of X and Y offset of the cropping area can be specified in the first two boxes. The size of the area can be specified in pixels in the last two boxes. Enabling this setting also allows resizing the box in the export preview by dragging the orange corners.Size
The type of Resizing to perform.Scale
The relative scale of the image as a percentage.Fit
When selected, the output image will fit within the specified pixel values.Enlarge
If checked, and the content is smaller than the specified size, the content of the image is proportionally stretched until one of the sides matches the specified size.Pad
If checked, additional space is added to the image to match the specified size.
Range
If checked, only the specified frames will be exported.Background
The background color to use.Quality
Higher quality produces better images but the file sizes are larger.FPS
The number of frames per second for the JPEG sequence.Include last frame
When unchecked, the last frame of each animation is omitted. Unchecking this is useful for looping animations where the first and last frame are identical -- the same frame would be exported twice when this setting is checked.
AVI
Spine can export an AVI video file of the current animation.
Please note that video playback support varies for different resolutions and encodings. Some video playback software is unable to play some video files, while other software can play them just fine.
Export type
The type of export to perform.Animations
The current animation, all the animations, or the selected animation are exported as an AVI file.Current pose
The current skeleton pose is exported as an AVI file.Skins
The current skin, all the skins, or all plus the version where no skin is active are exported.
Defaults
Resets all the AVI settings to the defaults.Preview
Opens the preview panel for the export window.Output file
An AVI file will be created in this folder.Animation repeat
The number of times to play each animation.Pause after
The number of seconds to pause after playing each animation.Bones
If checked, skeleton bones will be rendered.Images
If checked, skeleton images will be rendered.Others
If checked, other skeleton elements such as paths will be rendered.Linear filtering
If checked, Linear filtering will be applied to the image.Multisample AA
The depth of multisample anti-aliasing to apply to the image.Viewport crop
If checked, it enables cropping the image to a custom dimension. The amount of X and Y offset of the cropping area can be specified in the first two boxes. The size of the area can be specified in pixels in the last two boxes. Enabling this setting also allows resizing the box in the export preview by dragging the orange corners.Size
The type of Resizing to perform.Scale
The relative scale of the image as a percentage.Fit
When selected, the output image will fit within the specified pixel values.Enlarge
If checked, and the content is smaller than the specified size, the content of the image is proportionally stretched until one of the sides matches the specified size.Pad
If checked, additional space is added to the image to match the specified size.
Range
If checked, only the specified frames will be exported.Encoding
The codec to use to encode the AVI video.Background
The background color to use.Compression
Higher compression produces smaller files but takes longer to export.Quality
For the JPEG-based codec, higher quality produces better images but the file sizes are larger.FPS
The number of frames per second for the AVI video.Forever
When checked, the animation is looped continuously.Include last frame
When unchecked, the last frame of each animation is omitted. Unchecking this is useful for looping animations where the first and last frame are identical -- the same frame would be exported twice when this setting is checked.
MOV
Spine can export a QuickTime MOV video file of the current animation. The RAW and PNG encodings for MOV files support transparency, which can be a convenient way to bring Spine animation into other software using a single file.
Please note that video playback support varies for different resolutions and encodings. Some video playback software is unable to play some video files, while other software can play them just fine.
Export type
The type of export to perform.Animations
The current animation, all the animations, or the selected animation are exported as a MOV file.Current pose
The current skeleton pose is exported as a MOV file.Skins
The current skin, all the skins, or all plus the version where no skin is active are exported.
Defaults
Resets all the MOV video settings to the defaults.Preview
Opens the preview panel for the export window.Output file
A MOV file will be created in this folder.Animation repeat
The number of times to play each animation.Pause after
The number of seconds to pause after playing each animation.Bones
If checked, skeleton bones will be rendered.Images
If checked, skeleton images will be rendered.Others
If checked, other skeleton elements such as paths will be rendered.Linear filtering
If checked, Linear filtering will be applied to the image.Multisample AA
The depth of multisample anti-aliasing to apply to the image.Viewport crop
If checked, it enables cropping the image to a custom dimension. The amount of X and Y offset of the cropping area can be specified in the first two boxes. The size of the area can be specified in pixels in the last two boxes. Enabling this setting also allows resizing the box in the export preview by dragging the orange corners.Size
The type of Resizing to perform.Scale
The relative scale of the image as a percentage.Fit
When selected, the output image will fit within the specified pixel values.Enlarge
If checked, and the content is smaller than the specified size, the content of the image is proportionally stretched until one of the sides matches the specified size.Pad
If checked, additional space is added to the image to match the specified size.
Range
If checked, only the specified frames will be exported.Encoding
The codec to use to encode the MOV video.Background
The background color to use.Transparent
When checked, the background of the MOV video is set to transparent.
Compression
Higher compression produces smaller files but takes longer to export.Quality
For the JPEG-based encoding, higher quality produces better images but the file sizes are larger.FPS
The number of frames per second for the MOV video.Forever
When checked, the animation is looped continuously.Include last frame
When unchecked, the last frame of each animation is omitted. Unchecking this is useful for looping animations where the first and last frame are identical -- the same frame would be exported twice when this setting is checked.
Preview panel
The preview panel allows to preview the result of an export. When active, it will reflect the changes made in the export settings.
A white box around shows the border of the rendered animation.
When Crop
is enabled, a box with orange corners allows the user to resize the output by clicking on one of the orange corners, or move the box by clicking inside it, then dragging the box.
The dimension expressed in pixels, and estimated size of the export are displayed at the bottom.
The slider and arrows allow to scrub through the render animation frames, while the number indicates the current frame. These frames may not correspond to the ones in the dopesheet, as they depend on the FPS set in the export settings.
Disabling export
It is possible to mark skeletons, attachments, and skins to be exclude from exports. For example, this is useful to use a skeleton or attachment as a background or animation reference.
To do so, select a skeleton, skin, or attachment in the tree, then uncheck Export
in the properties at the bottom of the tre.
If an attachment is not exported but it is keyed in animations, the keys will not be exported. If a mesh is not exported, any linked meshes will also not be exported.
Command line
Export and texture packing can be run from the command line, for use with scripts and build servers. When run in this way, Spine starts, does one or more exports or texture packings, then exits.
Prerequisites
Both Spine and the Spine launcher must be version 2.1.00 or higher to perform command line export. Also, if some export parameters are not accepted, it could be those parameters were added in a later version. To update the Spine launcher, use the Spine license link which was emailed when Spine was purchased to download and reinstall Spine.
JSON and binary data export, import, texture packing, and texture unpacking can be performed on a headless machine. To export images or video, an OS windowing system and OpenGL are required.
Usage
Command line usage for export and texture packing:
[<project.spine>]
Export: Spine [-i <path>[.spine|.json|.skel]] [-m] [-o <path>] -e <path>
Import: Spine -i <path>[.spine|.json|.skel] -o <path>.spine -r <name>
Clean up: Spine -i <path>[.spine] -m
Pack: Spine -i <path> -o <path> -p <name>
Spine -i <path> -o <path> [-n <name>] -p <path>.json
Info: Spine -i <path>[.spine|.json|.skel]
Editor:
-h, --help Print this help message and exit.
-f, --force Force download of the Spine update.
-k, --keys Enable hotkey popups by default.
-l, --logout Logout, removing activation code.
-t, --notimeout Disable timeout when checking for and downloading updates.
-v, --version Print version information and exit.
-x, --proxy Proxy server to use when checking for and downloading updates.
-u, --update The version number of the Spine update to load.
project.spine Path to a Spine project file to open.
Export JSON, binary, images, or video:
-i, --input Path to a folder, project, or data file. Overrides export JSON.
-m, --clean Animation clean up is performed before export.
-o, --output Path to write export file(s). Overrides export JSON.
-e, --export Path to export settings JSON file.
Import JSON, binary, or a project's skeletons into another project:
-i, --input Path to a folder, project, or data file to be imported.
-o, --output Path to project file to import into. Created if nonexistent.
-s, --scale Scale the project being imported.
-r, --import Perform a skeleton import. The skeleton name may be omitted.
Animation clean up:
-i, --input Path to project file or folder.
-m, --clean Animation clean up is performed and the project is saved.
Texture atlas packing:
-i, --input Path to folder of images to be packed.
-o, --output Path to write texture atlas and PNG files.
-n, --name Texture atlas name, the prefix for the atlas and PNG files.
-p, --pack Texture atlas name or path to pack settings JSON file.
Texture atlas unpacking:
-i, --input Path to folder of atlas images.
-o, --output Path to write unpacked image files.
-c, --unpack Path to texture atlas file.
Project information:
-i, --input Path to project or data file.
Examples:
Spine --export /path/to/export.json
Spine --export "/path/with spaces/to/export.json"
Spine --input /path/to/project.spine --output /path/to/output/
--export /path/to/export.json
Spine -i /path/to/project.spine -o /path/to/output/ -e /path/to/export.json
Spine -e /path/to/export1.json -e /path/to/export2.json
Spine -i /path/to/images/ -o /path/to/output/ --pack /path/to/pack.json
Spine -i /path/to/images/ -o /path/to/output/ -n name -p /path/to/pack.json
Spine -i /path/to/project1.spine -o /path/to/output/ -e /path/to/export1.json
-i /path/to/project2.spine -e /path/to/export2.json -i /path/to/images/
-o /path/to/output/ -p /path/to/pack.json
Spine -i /path/to/skeleton.json -o /path/to/project.spine -r skeletonName
The output folder is created if it does not exist. Multiple export, import, texture packing, etc can be specified, as seen in the examples. If a command fails, Spine returns a non-zero error code.
Project export
For JSON, binary, image, and video export, the input and output paths are optional. If specified, they override the input and/or output paths specified in the export settings JSON file. The input path is a path to a project, JSON, or binary file. The output path may be a file or folder, depending on the export settings. The export settings JSON file is created using Spine by clicking on the Save
button at the bottom of the Export
dialog.
If the "clean up" parameter is specified, animation cleaned up is performed before export. This does not modify the project file.
Project import
For project import, the input path is a project, JSON, or binary file. Alternatively, it can be a folder containing .spine
, .json
, or .skel
files. The output path is a project file. If a scale is specified, the project's skeletons are scaled before they are imported.
If a project is imported into another project, all skeletons are imported. If a skeleton name is specified and only one skeleton is imported, then the skeleton is renamed. If multiple skeletons are imported, the skeleton name is ignored and the skeletons keep their existing names.
If a JSON or binary file is imported into a project and a skeleton name is specified, then the skeleton is renamed. If a skeleton name is not specified, the skeleton is named using the JSON or binary file name without the extension.
Animation clean up
For animation clean up, the input path is a project file or folder containing .spine
files. Animation clean up is performed for every skeleton and animation in the project and the project file is updated.
Texture packing
For texture packing, the input and output paths are folder paths. The --pack
or -p
parameter is either the texture atlas name to use when writing output files or a path to a pack settings JSON file. The pack settings JSON file is created using Spine by clicking on the Save
button at the bottom of the Texture Packer Settings
dialog. The name of the JSON file without the file extension is used as the texture atlas name.
When texture packing occurs, the settings from the specified pack settings JSON file are used. If a texture atlas name is specified instead, then the default settings are used. These settings are overridden by settings defined in any pack.json
files found in the input folders. See the Spine texture packer JSON Configuration for more information.
One or more project files can be specified using --project
or -j
. When whitespace stripping is enabled, the texture packer looks in these projects for each image file. Any meshes found to use the image file are taken into account so whitespace stripping will not remove blank pixels used by the meshes. When --project
or -j
is specified, the currentProject
texture packer setting is ignored, as if it were set to true
.
Texture unpacking
For texture unpacking, the input path is an atlas file and the output path is a folder where the unpacked images will be written.
Project information
For project information, the input path is a project file or folder containing .spine
files. Information is output for each project file. This can useful to know what version of Spine a project was saved with, how many animations are in the project, and other information.
Windows
Spine for Windows comes with two executables: Spine.exe
and Spine.com
. The EXE file is a GUI application, it starts Spine without a console window and doesn't wait for Spine to exit. The COM file is a command line application, it directs Spine's output to a console window and waits for Spine to exit.
Either executable can be used for command line export, but generally the COM file is preferred. If the Spine installation folder is on the system path or is the current working directory, specifying Spine
without an extension will always execute Spine.com
. For example:
Mac
Command line export when using Spine for Mac is done by launching the Spine executable file directly rather than opening Spine.app
. The executable is found inside Spine.app
at Spine.app/Contents/MacOS/Spine
. For example:
Linux
Command line export when using Spine for Linux is done by running the Spine.sh
script. For example: