sips

Scriptable image processing system. sips is used to query or modify raster image files (JPG/GIF/PNG) and ColorSync ICC profiles. Image processing options include flip, rotate, change image format/width/height. Its functionality can also be used through the "Image Events" AppleScript suite.

Syntax
      sips [image-query-functions] imagefile ...

      sips [profile-query-functions] profile ...

      sips [image-modification-functions] imagefile ...
           [--out result-file-or-dir]

      sips [profile-modification-functions] profile ...
           [--out result-file-or-dir]

      sips [-h, --help]

      sips [-H, --helpProperties] 

FUNCTIONS

     Profile query functions:

     -g key
     --getProperty key
           Output the property value for key to stdout.

     -X tag tagFile
     --extractTag tag tagFile
           Write a profile tag element to tagFile.

     -v
     --verify
           Verify any profile problems and log output to stdout.

     Image query functions:

     -g key
     --getProperty key
           Output the property value for key to stdout.

     -x profile
     --extractProfile profile
           Get the embedded profile from image and write it to profile.

     Profile modification functions:

     -s key value
     --setProperty key value
           Set a property value for key to value.

     -d key
     --deleteProperty key
           Remove a property value for key.

     --deleteTag tag
           Remove the tag element from a profile.

     --copyTag srcTag dstTag
           Copy the srcTag element of a profile to dstTag.

     --loadTag tag tagFile
           Set the tag element of a profile to the contents of tagFile.

     --repair
           Repair any profile problems and log output to stdout.

     Image modification functions:

     -s key value
     --setProperty key value
           Set a property value for key to value.

     -d key
     --deleteProperty key
           Remove a property value for key.

     -e profile
     --embedProfile profile
           Embed profile in image.

     -E profile
     --embedProfileIfNone profile
           Embed profile in image only if image doesn’t have a profile.

     -m profile
     --matchTo profile
           Color match image to profile.

     -M profile intent
     --matchToWithIntent profile intent
           Color match image to profile with rendering intent:
             perceptual | relative | saturation | absolute.

     --deleteColorManagementProperties
           Delete color management properties in TIFF, PNG, and EXIF dictionaries.

     -r degreesCW
     --rotate degreesCW

     -f horizontal|vertical
     --flip horizontal|vertical

     -c pixelsH pixelsW
     --cropToHeightWidth pixelsH pixelsW
           Crop image to fit specified size.

     -p pixelsH pixelsW
     --padToHeightWidth pixelsH pixelsW
           Pad image with pixels to fit specified size.

     --padColor hexcolor
           Use this color when padding. White=FFFFFF, Red=FF0000,
           Default=Black=000000

     -z pixelsH pixelsW
     --resampleHeightWidth pixelsH pixelsW
           Resample image at specified size. Image apsect ratio may be altered.

     --resampleWidth pixelsW
           Resample image to specified width.

     --resampleHeight pixelsH
           Resample image to specified height.

     -Z pixelsWH
     --resampleHeightWidthMax pixelsWH
           Resample image so height and width aren’t greater than specified size.

     -i
     --addIcon
           Add a Finder icon to image file.

OPTIONS

     The commands --getProperty, --setProperty, and --deleteProperty can use one of
     the following keys as a parameter:

     Special property keys:
     all              binary data
     allxml           binary data

     Image property keys:
     dpiHeight        float
     dpiWidth         float
     pixelHeight      integer (read-only)
     pixelWidth       integer (read-only)
     typeIdentifier   string  (read-only)
     format           string [ jpeg | tiff | png | gif | jp2 | pict | bmp | qtif | psd | sgi | tga ]
     formatOptions    string default | [ low | normal | high | best percent] | [ lzw | packbits ]
     space            string  (read-only)
     samplesPerPixel  integer (read-only)
     bitsPerSample    integer (read-only)
     creation         string  (read-only)
     make             string
     model            string
     software         string  (read-only)
     description      string
     copyright        string
     artist           string
     profile          binary data
     hasAlpha         boolean (read-only)

     Profile property keys:
     description         utf8 string
     size                integer (read-only)
     cmm                 string
     version             string
     class               string (read-only)
     space               string (read-only)
     pcs                 string (read-only)
     creation            string
     platform            string
     quality             string [ normal | draft | best ]
     deviceManufacturer  string
     deviceModel         integer
     deviceAttributes0   integer
     deviceAttributes1   integer
     renderingIntent     string [ perceptual | relative | saturation | absolute ]
     creator             string
     copyright           string
     md5                 string (read-only)

Your personal ICC profiles are stored in the folder:
HDname/users/username/Library/Colorsync/Profiles
or ~/Library/Colorsync/Profiles

There are also system wide copies under:

HDname/Library/Colorsync/Profiles

Press the Option/Alt key to reveal the library folder in Apple finder.

Examples

Convert a jpeg image into a .png image:

$ sips -s format png oldpic.jpg --out newpic.png

Convert a folder filled with .jpgs to .pngs:

$ for fi in *.jpg; do sips -s format png $fi --out $fi.png; done

Convert a folder filled with raw .RAF images . to .jpgs:

$ for f in *.RAF; do sips -s format jpeg $f --out $f.jpg; done

Resize an image to 600 pixels wide by 300 pixels tall:

$ sips -z 300 600 original.jpg --out new.jpg

Resize the largest side of an image, preserving the aspect ratio:

$ sips -z 600 original.jpg --out new.jpg

Get the size of an image (dots per inch):

$ sips -g dpiHeight -g dpiWidth mini.jpg
/Users/simon/Pictures/mini.jpg
dpiHeight: 72.000
dpiWidth: 72.000

“Genius is the ability to see things invisible, to manipulate things intangible, to paint things that have no features” ~ Joseph Joubert

Related macOS commands

Make JPEG droplet - A simple GUI for sips that converts files to jpg (with source code).
screencapture - Capture screen image to file or disk.
textutil - Manipulate text files in various formats (Doc,html,rtf).
imagemagick - An alternative tool for image manipulation (sips is usually faster).


 
Copyright © 1999-2024 SS64.com
Some rights reserved