.fpsheet file is a TOML document that stores all packer settings for a project. Instead of passing flags on every run, write them once to an .fpsheet and reference it with --project.
Creating a project file
CLI flags override project file values when both are provided.
Full example
Field reference
[[sources]]
Multiple [[sources]] blocks are allowed. Each adds a set of sprites to the pack.
path
path
Root directory to search. Defaults to
"sprites".filter
filter
Glob pattern relative to
path. Defaults to "**/*.png".[layout]
Controls atlas dimensions and packing behavior.
max_width
max_width
Maximum atlas width in pixels. Default
4096.max_height
max_height
Maximum atlas height in pixels. Default
4096.fixed_width
fixed_width
Force an exact width, overriding
max_width.fixed_height
fixed_height
Force an exact height, overriding
max_height.border_padding
border_padding
Pixels of empty space around the atlas edge. Default
2.shape_padding
shape_padding
Pixels of empty space between sprites. Default
2.allow_rotation
allow_rotation
Allow 90° sprite rotation to improve fit. Default
true.pack_mode
pack_mode
Packing algorithm effort level:
"fast"— Single-pass strip packer; fastest, largest atlas"good"— MaxRects single pass; good density"best"— Width search; densest result (default)
force_square
force_square
Constrain atlas to square dimensions. Default
false.size_constraint
size_constraint
Valid atlas dimension modes:
"any_size"— No constraint (default)"pot"— Power of two"multiple_of_4"— Divisible by 4"word_aligned"— Divisible by 2
[sprites]
Controls sprite pre-processing.
trim_mode
trim_mode
How to handle transparent borders:
"none"— Pack full image"trim"— Strip borders; store offset (default)"crop"— Crop to opaque region"crop_keep_pos"— Crop with negative offsets"polygon"— Convex hull polygon
trim_threshold
trim_threshold
Alpha ≤ this value is treated as transparent. Range 0–255. Default
1.trim_margin
trim_margin
Transparent pixels kept around the trim edge. Default
0.extrude
extrude
Edge pixels to repeat outward before packing. Default
0.detect_aliases
detect_aliases
Deduplicate pixel-identical sprites. Default
true.default_pivot
default_pivot
Fallback pivot for all sprites. Default
{ x = 0.0, y = 0.0 }.common_divisor_x and common_divisor_y
common_divisor_x and common_divisor_y
Round trimmed dimensions up to the nearest multiple.
0 disables. Default 0.[output]
Controls output files and formats.
name
name
Base filename without extension. Default
"atlas".directory
directory
Output directory path. Default
"output".texture_format
texture_format
Image compression format:
"png"— Lossless PNG (default)"jpg"— Lossy JPEG; no alpha"webp"— WebP
pixel_format
pixel_format
Pixel encoding. Default
"RGBA8888".data_format
data_format
Metadata format:
"json_hash"— Generic JSON object (default)"json_array"— JSON array"phaser3"— Phaser 3 format"pixijs"— PixiJS format
quality
quality
Lossy encoding quality, 0–100. Default
95.premultiply_alpha
premultiply_alpha
Multiply RGB by alpha before encoding. Default
false.texture_path_prefix
texture_path_prefix
String prepended to texture filenames in data files. Default
"".[algorithm]
Selects and configures the packing algorithm.
- MaxRects (default)
- Grid
- Basic
best_short_side_fitbest_long_side_fitbest_area_fitbottom_left_rulecontact_point_rule
[[variants]]
Each [[variants]] block produces an independent set of output files at the specified scale.
scale
scale
Scale factor.
0.5 halves dimensions; 2.0 doubles them. Default 1.0.suffix
suffix
Appended to output filenames before the extension. Empty by default.
scale_mode
scale_mode
Resampling filter:
"smooth"— Lanczos3; high quality (default)"fast"— Nearest-neighbour; crisp pixel art
[[sprite_overrides]]
Per-sprite metadata overrides.
id
id
Sprite ID: relative path without extension, forward-slash separated.
pivot
pivot
Normalized anchor point.
nine_patch
nine_patch
Border widths in source pixels.
Multiple variants example
Generate multiple resolution variants in a single pack:[email protected]and[email protected][email protected]and[email protected][email protected]and[email protected]
TexturePacker compatibility
The.fpsheet format is FastPack-specific TOML. TexturePacker uses its own .tps XML format. Settings map closely between the two tools but the file formats are not interchangeable.