--- title: "Rotate images" slug: "image-resizer-rotator-rotate-images" updated: 2026-10-09T18:07:06Z published: 2026-10-09T18:07:06Z canonical: "help.quickbase.com/image-resizer-rotator-rotate-images" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.quickbase.com/llms.txt > Use this file to discover all available pages before exploring further. # Rotate images Image Resizer/Rotator rotates images clockwise by 90, 180, or 270 degrees. Rotate buttons use the *RotateImage.aspx* address instead of *ImageResizer.aspx*. There are two ways to choose how far to rotate: - **One amount for every image**—**rotateval** is 0, 90, 180, or 270. Use this to rotate all images on the button the same way. - **An amount per image**—in **clist**, follow each file attachment FID with a colon and the FID of a field holding that image's rotation. For example, *clist=14:40.15:41* rotates the image in field 14 by the value in field 40, and the image in field 15 by the value in field 41. If both are supplied, **rotateval** is used for every image. Both work for one record and for [multiple records](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-multiple-records). ## Set up rotation fields For per-image rotation, create a **Text - Multiple Choice** field for each image, for example *Rotate Options - Image 1*. Give it these choices, and clear **Allow users to create new choices** so only valid values can be picked: - Do not rotate - 90 degrees - 180 degrees - 270 degrees Rotation fields accept a number (*90*) or a number followed by *degrees* (*90 degrees*). Any other value, including *Do not rotate* or a blank field, leaves the image unrotated. **rotateval** is stricter. It accepts *0*, *90*, *180*, or *270*, with or without *degrees* after the number (*90* and *90 degrees* both work). Anything else is an error: - *Do not rotate* (or any other text) gives *Error - Rotating by a value other than 0, 90, 180, or 270 degrees*. Use *0* for no rotation. - A blank value, when **clist** has no rotation fields, gives *Error - No rotation amount was provided for field 14. Supply 'rotateval' or a per-file rotation FID via clist (e.g. clist=6:8).* If **rotateval** reads from a field, make that field required or give it a default value. For a **rotateval** field, use a **Text - Multiple Choice** field with the choices *0*, *90*, *180*, and *270* (or *0 degrees*, *90 degrees*, and so on), not *Do not rotate*. ## Create the button Add a **Formula - Text** field with **Allow some HTML tags** selected. Replace *https://...* with your designated Image Resizer/Rotator server URL and *Q#* with your Client ID. ### Example: per-image rotation ``` var text url = "https://.../RotateImage.aspx?"  // your Image Resizer/Rotator server URL & "clientid=Q#"  // your Client ID & "&appid=" & AppID() & "&dbid=" & Dbid() & "&recid=" & [Record ID#] & "&clist=14:40.15:41";  // image field : rotation field "Rotate Images" ``` ### Example: one amount for every image ``` var text url = "https://.../RotateImage.aspx?"  // your Image Resizer/Rotator server URL & "clientid=Q#"  // your Client ID & "&appid=" & AppID() & "&dbid=" & Dbid() & "&recid=" & [Record ID#] & "&clist=14.15" & "&rotateval=" & [Rotate Value];  // 0, 90, 180, or 270 "Rotate Images" ``` Add the button to the form. To keep the original image and save the rotated one elsewhere, or to record when images were rotated, see [Track and store results](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-track-and-store-results). For every parameter, see [Formula URL parameters](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-formula-url-parameters).