Photoshop Styles File Format
Contents
This document provides information about the (undocumented yet) format of styles files in Photoshop.
Note: all multi-byte values, i.e., integer numbers (including C-style 4-character constants), floating-point (double) numbers, and Unicode characters are coded in big-endian format.
Styles palette file
Name |
Type |
Kind |
Description |
Styles.psp |
'8BPF' |
Styles palette file |
Adobe Photoshop preferences file containing all the styles listed in the Styles Palette. Warning: like most preferences files, the styles palette file is not updated in real-time: it is read by the application only once at start-up (launch) time and written back at shut-down (quit) time. |
Length (in bytes) |
Description |
Comments |
Variable |
Styles |
Styles format. |
Styles file
Name |
Type |
Kind |
Description |
*.asl |
'8BSL' |
Styles file |
Adobe Photoshop styles file; generally produced by saving a selected set of styles from the Preset Manager, or all styles from the Styles Palette. |
Length (in bytes) |
Description |
Comments |
2 |
Styles file version (= 2) |
16-bit integer. |
Variable |
Styles |
Styles format. |
Styles
Length (in bytes) |
Description |
Comments |
4 |
Magic number (= '8BSL' ) |
C-style 4-character constant. |
Variable |
Set of embedded patterns |
Patterns format. |
4 |
Number of styles |
32-bit integer. |
Variable |
Sequence of styles |
Each in Style format. |
Patterns
Set of patterns referenced by styles contained in the file, more precisely by three kinds of layer effects:
- Bevel and Emboss: Texture
- Pattern Overlay
- Stroke (Fill Type: Pattern)
Length (in bytes) |
Description |
Comments |
2 |
Sub-version (= 3) |
16-bit integer. |
4 |
Length (in bytes) of remaining patterns data |
32-bit integer. |
Variable |
Sequence of patterns |
Each in Pattern format. |
Pattern
Length (in bytes) |
Description |
Comments |
4 |
Length (in bytes) of remaining pattern data |
32-bit integer. |
4 |
Pattern version (= 1) |
32-bit integer. |
4 |
Image mode |
32-bit integer:
- 0 (Bitmap)
- 1 (Grayscale)
- 2 (Indexed)
- 3 (RGB)
- 4 (CMYK)
- 7 (Multichannel)
- 8 (Duotone)
- 9 (Lab)
|
2 |
Pattern height |
16-bit integer. |
2 |
Pattern width |
16-bit integer. |
Variable |
Pattern name |
Unicode string format. |
1 + 36 |
Pattern ID (UUID) |
Pascal-style string format. |
Variable |
Image data |
Image data format (opaque for the time being). |
0 to 3 |
Extra null padding |
The total number of bytes, i.e., the above-mentioned length of remaining pattern data plus the length of this padding, must be a multiple of 4. |
Cf. Additional Layer Information of the page Adobe Photoshop File Formats Specification for more details about the way patterns are stored in a Photoshop document.
Unicode string
Length (in bytes) |
Description |
Comments |
4 |
Number of Unicode characters |
32-bit integer. |
Variable |
String of Unicode characters |
Two bytes per character; includes terminating null. |
Pascal-style string
Length (in bytes) |
Description |
Comments |
1 |
Number of characters |
8-bit integer (unsigned). |
Variable |
String of characters |
One byte per character; no terminating null. |
Style
Length (in bytes) |
Description |
Comments |
Variable |
Style identification: name and ID |
Style identification format. |
Variable |
Style information: document mode, layer effects, blending options |
Style information format. |
Both style identification and style information are actually serialized action descriptors that match the serialized format expected by the ActionDescriptor.fromStream
method (in JavaScript), or the HandleToDescriptor
routine of the ActionDescriptor
suite (in C/C++), i.e. prefixed by a 32-bit integer equal to 16. They will be described below by detailing the structure of their respective action descriptors.
Style identification
Key |
Type |
Value |
Comments |
'Nm ' |
String |
Style name |
Unicode string. |
'Idnt' |
String |
Style ID (UUID) |
Unicode string. |
Document mode object
Class |
Descriptor |
"documentMode" |
Key |
Type |
Value |
Comments |
'ClrS' |
Enumerated |
Color space:
'ClrS' , 'ECMY'
'ClrS' , 'Gryc'
'ClrS' , 'LbCl'
'ClrS' , 'RGBC'
|
Color Mode:
- CMYK Color
- Grayscale
- Lab Color
- RGB Color
|
'Dpth' |
Integer |
Depth |
8 or 16. |
Layer effects object
Drop shadow object
Class |
Descriptor |
'DrSh' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Drop Shadow effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'uglg' |
Boolean |
Use global angle |
Use Global Light. |
'lagl' |
Unit double |
Local lighting angle (in '#Ang' units) |
Angle: -180° to 180°. |
'Dstn' |
Unit double |
Distance (in '#Pxl' units) |
0 to 30000 pixels. |
'Ckmt' |
Unit double |
Choke matte (in '#Pxl' units) |
Spread: 0 to 100. |
'blur' |
Unit double |
Blur (in '#Pxl' units) |
Size: 0 to 250 pixels. |
'Nose' |
Unit double |
Noise (in '#Prc' units) |
0% to 100%. |
'AntA' |
Boolean |
Anti-alias |
Anti-Aliased. |
'TrnS' |
Object |
Transparency shape (Contour) |
Shaping curve object format. |
"layerConceals" |
Boolean |
Layer conceals |
Layer Knocks Out Drop Shadow. |
Inner shadow object
Class |
Descriptor |
'IrSh' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Inner Shadow effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'uglg' |
Boolean |
Use global angle |
Use Global Light. |
'lagl' |
Unit double |
Local lighting angle (in '#Ang' units) |
Angle: -180° to 180°. |
'Dstn' |
Unit double |
Distance (in '#Pxl' units) |
0 to 30000 pixels. |
'Ckmt' |
Unit double |
Choke matte (in '#Pxl' units) |
Choke: 0 to 100. |
'blur' |
Unit double |
Blur (in '#Pxl' units) |
Size: 0 to 250 pixels. |
'Nose' |
Unit double |
Noise (in '#Prc' units) |
0% to 100%. |
'AntA' |
Boolean |
Anti-alias |
Anti-Aliased. |
'TrnS' |
Object |
Transparency shape (Contour) |
Shaping curve object format. |
Outer glow object
Class |
Descriptor |
'OrGl' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Outer Glow effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
'Grad' |
Object |
Custom stops gradient object or Color noise gradient object |
Custom stops gradient object format or Color noise gradient object format. |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'GlwT' |
Enumerated |
Glow Technique:
'BETE' , 'PrBL'
'BETE' , 'SfBL'
|
Technique:
|
'Ckmt' |
Unit double |
Choke matte (in '#Pxl' units) |
Spread: 0 to 100. |
'blur' |
Unit double |
Blur (in '#Pxl' units) |
Size: 0 to 250 pixels. |
'Nose' |
Unit double |
Noise (in '#Prc' units) |
0% to 100%. |
'ShdN' |
Unit double |
Shading noise (in '#Prc' units) |
Jitter: 0% to 100%. |
'AntA' |
Boolean |
Anti-alias |
Anti-Aliased. |
'TrnS' |
Object |
Transparency shape (Contour) |
Shaping curve object format. |
'Inpr' |
Unit double |
Input range (in '#Prc' units) |
Range: 1% to 100%. |
Note: Color ('Clr '
) and Gradient ('Grad'
) are mutually exclusive.
Inner glow object
Class |
Descriptor |
'IrGl' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Inner Glow effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
'Grad' |
Object |
Custom stops gradient object or Color noise gradient object |
Custom stops gradient object format or Color noise gradient object format. |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'GlwT' |
Enumerated |
Glow Technique:
'BETE' , 'PrBL'
'BETE' , 'SfBL'
|
Technique:
|
'Ckmt' |
Unit double |
Choke matte (in '#Pxl' units) |
Choke: 0 to 100. |
'blur' |
Unit double |
Blur (in '#Pxl' units) |
Size: 0 to 250 pixels. |
'ShdN' |
Unit double |
Shading noise (in '#Prc' units) |
Jitter: 0% to 100%. |
'Nose' |
Unit double |
Noise (in '#Prc' units) |
0% to 100%. |
'AntA' |
Boolean |
Anti-alias |
Anti-Aliased. |
'glwS' |
Enumerated |
Inner glow source:
'IGSr' , 'SrcC'
'IGSr' , 'SrcE'
|
Source:
|
'TrnS' |
Object |
Transparency shape (Contour) |
Shaping curve object format. |
'Inpr' |
Unit double |
Input range (in '#Prc' units) |
Range: 1% to 100%. |
Note: Color ('Clr '
) and Gradient ('Grad'
) are mutually exclusive.
Bevel emboss object
Class |
Descriptor |
'ebbl' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Bevel and Emboss effect. |
'hglM' |
Enumerated |
Highlight blend mode |
Among Blend modes |
'hglC' |
Object |
Highlight color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
'hglO' |
Unit double |
Highlight opacity (in '#Prc' units) |
0% to 100%. |
'sdwM' |
Enumerated |
Shadow blend mode |
Among Blend modes |
'sdwC' |
Object |
Shadow color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
'sdwO' |
Unit double |
Shadow opacity (in '#Prc' units) |
0% to 100%. |
'bvlT' |
Enumerated |
Bevel Technique:
'bvlT' , 'SfBL'
'bvlT' , 'PrBL'
'bvlT' , 'Slmt'
|
Technique:
- Smooth
- Chisel Hard
- Chisel Soft
|
'bvlS' |
Enumerated |
Bevel style:
'BESl' , 'OtrB'
'BESl' , 'InrB'
'BESl' , 'Embs'
'BESl' , 'PlEb'
'BESl' , "strokeEmboss"
|
Style:
- Outer Bevel
- Inner Bevel
- Emboss
- Pillow Emboss
- Stroke Emboss
|
'uglg' |
Boolean |
Use global angle |
Use Global Light. |
'lagl' |
Unit double |
Local lighting angle (in '#Ang' units) |
Angle: -180° to 180°. |
'Lald' |
Unit double |
Local lighting altitude (in '#Ang' units) |
Altitude: 0° to 90°. |
'srgR' |
Unit double |
Strength ratio (in '#Prc' units) |
Depth: 1% to 1000%. |
'blur' |
Unit double |
Blur (in '#Pxl' units) |
Size: 0 to 250 pixels. |
'bvlD' |
Enumerated |
Bevel direction:
'BESs' , 'In '
'BESs' , 'Out '
|
Direction:
|
'TrnS' |
Object |
Transparency shape (Gloss Contour) |
Shaping curve object format. |
"antialiasGloss" |
Boolean |
Anti-alias gloss |
Anti-Aliased. |
'Sftn' |
Unit double |
Softness (in '#Pxl' units) |
Soften: 1 to 16 pixels. |
Only if "useShape" is true: |
"useShape" |
Boolean |
Use shape |
Apply Contour. |
'MpgS' |
Object |
Mapping shape (Contour) |
Shaping curve object format. |
'AntA' |
Boolean |
Anti-alias |
Anti-Aliased. |
'Inpr' |
Unit double |
Input range (in '#Prc' units) |
Range: 0% to 100%. |
Only if "useTexture" is true: |
"useTexture" |
Boolean |
Use texture |
Apply Texture. |
'InvT' |
Boolean |
Invert texture |
Invert. |
'Algn' |
Boolean |
Align |
Link with Layer. |
'Scl ' |
Unit double |
Scale (in '#Prc' units) |
1% to 1000%. |
"textureDepth" |
Unit double |
Texture depth (in '#Prc' units) |
Depth: -1000% to +1000%. |
'Ptrn' |
Object |
Pattern |
Pattern object format. |
"phase" |
Object |
Phase (Snap to Origin, or drag to position with mouse down) |
Phase point object format. |
Chrome FX object
Class |
Descriptor |
'ChFX' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Satin effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
'AntA' |
Boolean |
Anti-alias |
Anti-Aliased. |
'Invr' |
Boolean |
Invert |
Reverse effect. |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'lagl' |
Unit double |
Local lighting angle (in '#Ang' units) |
Angle: -180° to 180°. |
'Dstn' |
Unit double |
Distance (in '#Pxl' units) |
1 to 250 pixels. |
'blur' |
Unit double |
Blur (in '#Pxl' units) |
Size: 0 to 250 pixels. |
'MpgS' |
Object |
Mapping shape (Contour) |
Shaping curve object format. |
Solid fill object
Class |
Descriptor |
'SoFi' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Color Overlay effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
Gradient fill object
Class |
Descriptor |
'GrFl' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Gradient Overlay effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'Grad' |
Object |
Custom stops gradient object or Color noise gradient object |
Custom stops gradient object format or Color noise gradient object format. |
'Angl' |
Unit double |
Angle (in '#Ang' units) |
-180° to 180°. |
'Type' |
Enumerated |
Type:
'GrdT' , 'Lnr '
'GrdT' , 'Rdl '
'GrdT' , 'Angl'
'GrdT' , 'Rflc'
'GrdT' , 'Dmnd'
|
Style:
- Linear
- Radial
- Angle
- Reflected
- Diamond
|
'Rvrs' |
Boolean |
Reverse |
Reverse direction of gradient. |
'Algn' |
Boolean |
Align |
Align with Layer. |
'Scl ' |
Unit double |
Scale (in '#Prc' units) |
10% to 150%. |
'Ofst' |
Object |
Offset (drag to position with mouse down) |
Offset point object format. |
'Dthr' |
Boolean |
Dither |
Only from CS6. |
Pattern fill object
Class |
Descriptor |
"patternFill" |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Pattern Overlay effect. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'Ptrn' |
Object |
Pattern |
Pattern object format. |
'Scl ' |
Unit double |
Scale (in '#Prc' units) |
1% to 1000%. |
'Algn' |
Boolean |
Align |
Link with Layer. |
"phase" |
Object |
Phase (Snap to Origin, or drag to position with mouse down) |
Phase point object format. |
Frame FX object
Class |
Descriptor |
'FrFX' |
Key |
Type |
Value |
Comments |
'enab' |
Boolean |
Enabled |
Apply Stroke effect. |
'Styl' |
Enumerated |
Style:
'FStl' , 'OutF'
'FStl' , 'InsF'
'FStl' , 'CtrF'
|
Position:
|
'PntT' |
Enumerated |
Paint type:
'FrFl' , 'SClr'
'FrFl' , 'GrFl'
'FrFl' , 'Ptrn'
|
Fill Type:
|
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'Sz ' |
Unit double |
Size (in '#Pxl' units) |
1 to 250 pixels. |
Color Fill Type only: |
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Among:
|
Gradient Fill Type only: |
'Grad' |
Object |
Custom stops gradient object or Color noise gradient object |
Custom stops gradient object format or Color noise gradient object format. |
'Angl' |
Unit double |
Angle (in '#Ang' units) |
-180° to 180°. |
'Type' |
Enumerated |
Type:
'GrdT' , 'Lnr '
'GrdT' , 'Rdl '
'GrdT' , 'Angl'
'GrdT' , 'Rflc'
'GrdT' , 'Dmnd'
'GrdT' , "shapeburst"
|
Style:
- Linear
- Radial
- Angle
- Reflected
- Diamond
- Shape Burst
|
'Rvrs' |
Boolean |
Reverse |
Reverse direction of gradient. |
'Scl ' |
Unit double |
Scale (in '#Prc' units) |
10% to 150%. |
'Algn' |
Boolean |
Align |
Align with Layer. |
'Ofst' |
Object |
Offset (drag to position with mouse down) |
Offset point object format. |
'Dthr' |
Boolean |
Dither |
Only from CS6. |
Pattern Fill Type only: |
'Ptrn' |
Object |
Pattern |
Pattern object format. |
'Scl ' |
Unit double |
Scale (in '#Prc' units) |
1% to 1000%. |
'Lnkd' |
Boolean |
Linked |
Link with Layer. |
"phase" |
Object |
Phase (Snap to Origin, or drag to position with mouse down) |
Phase point object format. |
Offset point object
Class |
Descriptor |
'Pnt ' |
Key |
Type |
Value |
Comments |
'Hrzn' |
Unit double |
Horizontal (in '#Prc' units) |
Horizontal offset. |
'Vrtc' |
Unit double |
Vertical (in '#Prc' units) |
Vertical offset. |
Phase point object
Class |
Descriptor |
'Pnt ' |
Key |
Type |
Value |
Comments |
'Hrzn' |
Double |
Horizontal |
Horizontal phase. |
'Vrtc' |
Double |
Vertical |
Vertical phase. |
Shaping curve object
Class |
Descriptor |
'ShpC' |
Key |
Type |
Value |
Comments |
'Nm ' |
String |
Name |
Contour name. |
'Crv ' |
List |
List of curve points |
Each in Curve point object format. |
Curve point object
Class |
Descriptor |
'CrPt' |
Key |
Type |
Value |
Comments |
'Hrzn' |
Double |
Horizontal |
0 to 255. |
'Vrtc' |
Double |
Vertical |
0 to 255. |
'Cnty' |
Boolean |
Continuity |
Non-Corner (true by default). |
Blending options object
Class |
Descriptor |
"blendOptions" |
Key |
Type |
Value |
Comments |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
'Md ' |
Enumerated |
Blend mode |
Among Blend modes |
"fillOpacity" |
Unit double |
Fill opacity (in '#Prc' units) |
0% to 100%. |
"blendClipped" |
Boolean |
Blend clipped |
Blend Clipped Effects as Group |
"blendInterior" |
Boolean |
Blend interior |
Blend Interior Effects as Group |
"knockout" |
Enumerated |
Knockout:
"knockout" , 'None'
"knockout" , "shallow"
"knockout" , "deep"
|
Knockout:
|
"transparencyShapesLayer" |
Boolean |
Transparency shapes layer |
Transparency Shapes Layer |
"layerMaskAsGlobalMask" |
Boolean |
Layer mask as global mask |
Layer Mask Hides Effects |
"vectorMaskAsGlobalMask" |
Boolean |
Vector mask as global mask |
Vector Mask Hides Effects |
'Blnd' |
List |
List of blend ranges |
Each in Blend range object format. |
"channelRestrictions" |
List |
List of enumerated channels |
Each among Channels. |
Blend range object
Class |
Descriptor |
'Blnd' |
Key |
Type |
Value |
Comments |
'Chnl' |
Reference |
Channel reference |
Channel reference format. |
'SrcB' |
Integer |
Source minimum black |
0 to 255. |
'Srcl' |
Integer |
Source maximum black |
0 to 255. |
'SrcW' |
Integer |
Source minimum white |
0 to 255. |
'Srcm' |
Integer |
Source maximum white |
0 to 255. |
'DstB' |
Integer |
Destination minimum black |
0 to 255. |
'Dstl' |
Integer |
Destination maximum black |
0 to 255. |
'DstW' |
Integer |
Destination minimum white |
0 to 255. |
'Dstt' |
Integer |
Destination maximum white |
0 to 255. |
Channel reference
Desired Class |
Type |
Value |
Comments |
'Chnl' |
Enumerated |
Channel |
Among Channels. |
Channels
EnumType |
EnumValue |
Comments |
'Chnl' |
'A ' |
A |
'B ' |
B |
'Blck' |
Black |
'Bl ' |
Blue |
'Cyn ' |
Cyan |
'Dtn ' |
Duotone |
'Gry ' |
Gray |
'Grn ' |
Green |
'Lght' |
Lightness |
'Mgnt' |
Magenta |
'Mntn' |
Monotone |
'Qdtn' |
Quadtone |
'Rd ' |
Red |
'Trtn' |
Tritone |
'Yllw' |
Yellow |
Book color object
Class |
Descriptor |
'BkCl' |
Key |
Type |
Value |
Comments |
'Bk ' |
String |
Book name |
Unicode string. |
'Nm ' |
String |
Color name |
Unicode string. |
"bookID" |
Integer |
Book ID |
Signed number. |
"bookKey" |
Raw data |
Book key |
Byte string. |
CMYK color object
Class |
Descriptor |
'CMYC' |
Key |
Type |
Value |
Comments |
'Cyn ' |
Double |
Cyan |
0% to 100%. |
'Mgnt' |
Double |
Magenta |
0% to 100%. |
'Ylw ' |
Double |
Yellow |
0% to 100%. |
'Blck' |
Double |
Black |
0% to 100%. |
Grayscale object
Class |
Descriptor |
'Grsc' |
Key |
Type |
Value |
Comments |
'Gry ' |
Double |
Gray |
0% to 100%. |
HSB color object
Class |
Descriptor |
'HSBC' |
Key |
Type |
Value |
Comments |
'H ' |
Unit double |
Hue (in '#Ang' units) |
0° to 360°. |
'Strt' |
Double |
Saturation |
0% to 100%. |
'Brgh' |
Double |
Brightness |
0% to 100%. |
Lab color object
Class |
Descriptor |
'LbCl' |
Key |
Type |
Value |
Comments |
'Lmnc' |
Double |
Luminance |
0 to 100. |
'A ' |
Double |
A |
-128 to 127. |
'B ' |
Double |
B |
-128 to 127. |
RGB color object
Class |
Descriptor |
'RGBC' |
Key |
Type |
Value |
Comments |
'Rd ' |
Double |
Red |
0 to 255. |
'Grn ' |
Double |
Green |
0 to 255. |
'Bl ' |
Double |
Blue |
0 to 255. |
Custom stops gradient object
Class |
Descriptor |
'Grdn' |
Key |
Type |
Value |
Comments |
'Nm ' |
String |
Gradient name |
Unicode string. |
'GrdF' |
Enumerated |
Gradient form: custom stops (= 'GrdF' , 'CstS' ) |
Solid gradient. |
'Intr' |
Double |
Interpolation |
0 to 4096 (Smoothness: 0% to 100%). |
'Clrs' |
List |
List of color stops |
Each in Color stop object format. |
'Trns' |
List |
List of transparency stops |
Each in Transparency stop object format. |
Color stop object
Class |
Descriptor |
'Clrt' |
Key |
Type |
Value |
Comments |
'Lctn' |
Integer |
Location |
0 to 4096 (0% to 100%). |
'Mdpn' |
Integer |
Midpoint |
0% to 100%. |
'Type' |
Enumerated |
Color stop type:
'Clry' , 'UsrS'
'Clry' , 'BckC'
'Clry' , 'FrgC'
|
Type:
- User stop
- Background color
- Foreground color
|
'Clr ' |
Object |
Color object:
- Book color object
- CMYK color object
- Grayscale object
- HSB color object
- Lab color object
- RGB color object
|
Key present only if color stop type is user stop:
|
Transparency stop object
Class |
Descriptor |
'TrnS' |
Key |
Type |
Value |
Comments |
'Lctn' |
Integer |
Location |
0 to 4096 (0% to 100%). |
'Mdpn' |
Integer |
Midpoint |
0% to 100%. |
'Opct' |
Unit double |
Opacity (in '#Prc' units) |
0% to 100%. |
Color noise gradient object
Class |
Descriptor |
'Grdn' |
Key |
Type |
Value |
Comments |
'Nm ' |
String |
Gradient name |
Unicode string. |
'GrdF' |
Enumerated |
Gradient form: color noise (= 'GrdF' , 'ClNs' ) |
Noise gradient. |
'RndS' |
Integer |
Random seed |
Randomize. |
'ShTr' |
Boolean |
Show transparency |
Add Transparency. |
'VctC' |
Boolean |
Vector color |
Restrict Colors. |
'Smth' |
Integer |
Smoothness |
0 to 4096 (Roughness: 0% to 100%). |
'ClrS' |
Enumerated |
Color space:
'ClrS' , 'RGBC'
'ClrS' , 'HSBl'
'ClrS' , 'LbCl'
|
Color Model:
|
'Mnm ' |
List of Integers |
Four minimum values |
Three color components (0% to 100%) + transparency (0%). |
'Mxm ' |
List of Integers |
Four maximum values |
Three color components (0% to 100%) + transparency (100%). |
Pattern object
Class |
Descriptor |
'Ptrn' |
Key |
Type |
Value |
Comments |
'Nm ' |
String |
Pattern name |
Unicode string. |
'Idnt' |
String |
Pattern ID (UUID) |
Unicode string. |
Blend modes
EnumType |
EnumValue |
Comments |
'BlnM' |
'Nrml' |
Normal |
'Dslv' |
Dissolve |
'Drkn' |
Darken |
'Mltp' |
Multiply |
'CBrn' |
Color Burn |
"linearBurn" |
Linear Burn |
"darkerColor" |
Darker Color |
'Lghn' |
Lighten |
'Scrn' |
Screen |
'CDdg' |
Color Dodge |
"linearDodge" |
Linear Dodge (Add) |
"lighterColor" |
Lighter Color |
'Ovrl' |
Overlay |
'SftL' |
Soft Light |
'HrdL' |
Hard Light |
"vividLight" |
Vivid Light |
"linearLight" |
Linear Light |
"pinLight" |
Pin Light |
"hardMix" |
Hard Mix |
'Dfrn' |
Difference |
'Xclu' |
Exclusion |
'Sbtr' |
Subtract |
"divide" |
Divide |
'H ' |
Hue |
'Strt' |
Saturation |
'Clr ' |
Color |
'Lmns' |
Luminosity |
Parsing styles files
A practical set of JavaScript functions for parsing styles files is contained in the module jamStyles
, which is part of the JSON Action Manager scripting library.
It uses the following simplified formats:
- Document Mode Object Simplified Format
- Layer Effects Object Simplified Format
- Blending Options Object Simplified Format
Three utility scripts are available:
- Export Styles File Patterns: [Photoshop CS3 or later] export the embedded patterns of a styles file (.asl) or a styles palette (Styles.psp) into a patterns file.
- Get Layer Style: [Photoshop CS2 or later] get the style (blending options and layer effects) of the current layer in JSON simplified format.
- Parse Styles File: [Photoshop CS3 or later] parse a styles file (.asl) or a styles palette (Styles.psp) into a JSON text file.
All files are open-source and licensed under GPLv3; the utility scripts have been successfully tested in Photoshop CS4 on Mac OS X, but should be platform agnostic.
Doc version: 1.6
Date: 2018-04-16
Copyright: © 2013-2018 Michel MARIANI
Disclaimer: this information is provided 'as is' without warranty of any kind, express or implied; use it at your own risk.