Preview Custom Shapes File


“Preview Custom Shapes File” is a custom shapes files utility script using the JSON Action Manager scripting library, and more specifically its module jamShapes.

This stand-alone script written in JavaScript is used to graphically preview a Photoshop custom shapes file (.csh) or a custom shapes preferences file (CustomShapes.psp).

It creates a new image document with a white background and an optional grid layer, then generates a two-dimensional table of shape thumbnails, either drawn all in one single layer or displayed as a series of shape layers in a layer group.

Please refer to the Photoshop Custom Shapes File Format document for detailed information about the structure of a custom shapes file.

Preview Custom Shapes File Dialog (Mac OS X)

A tool-tip displaying the full path name of the custom shapes file is available while hovering over the custom shapes file text field.

Custom Shapes File Help Tip (Mac OS X)

Example of preview image created from a custom shapes file (Ornaments.csh):

Ornaments (23 shapes)

Warning: the time needed to generate the preview image document is logically proportional to the actual number of custom shapes in the file, but above all, it depends on how many control/anchor points the paths are made of. Occasionally, for some large sets of complex custom shapes, the generation can be particularly slow, i.e., may take more than half an hour…


This script can be used in Adobe Photoshop CS3 or later. It has been successfully tested in CS4 on Mac OS X, but should be platform agnostic.


This Software is copyright © 2011-2015 by Michel MARIANI.


This Software is licensed under the GNU General Public License (GPL) v3.



Download the Zip file and unzip it.

Move the script to the Presets/Scripts folder in the default preset location of the Adobe Photoshop application. On next launch, the script will appear in the File>Automate submenu.

Version History

  • 2.3

    • Used new version 4.4.4 of jamEngine scripting library module.
  • 2.2

    • Added onChange event handler on all sliders to allow horizontal scrolling.
  • 2.1

    • Used new version 4.4.1 of scripting library modules.
  • 2.0

    • Fixed missing local variables.
    • Replaced background layer with solid color fill layer when using shape layers.
    • Used new version 4.4 of of scripting library modules.
  • 1.9

    • Used new version 4.3 of jamHelpers scripting library module.
  • 1.8

    • Added use of suspend history.
    • Improved speed of setting File Info.
  • 1.7

    • Fixed generation of presets folder name.
    • Replaced decodeURI () with File.decode () for the sake of consistency.
    • Used new version 4.1 of jamShapes scripting library module.
  • 1.6

    • Used new version 4.0 of scripting library modules.
  • 1.5

    • Used new version of scripting library modules.
  • 1.4

    • Used new version of scripting library modules.
  • 1.3

    • Added document file info: generation parameters and time statistics.
  • 1.2

    • Improved performance by delaying the full parsing after dialog exit.
    • Used path instead of selection to draw the optional grid.
  • 1.1

    • Added user-interface dialog.
  • 1.0

    • Initial release.

Tags: , , , , ,

Comments are closed.