# Requires ImageMagick 7.1.1-29+
# Horizontal flip (mirror)
magick input.jpg -flop output.jpg # Vertical flip
magick input.jpg -flip output.jpg # Batch flip all JPGs horizontally
Get-ChildItem -Filter *.jpg | ForEach-Object { magick $_.FullName -flop "flipped_$($_.Name)"
}
# Requires ImageMagick 7.1.1-29+
# Horizontal flip (mirror)
magick input.jpg -flop output.jpg # Vertical flip
magick input.jpg -flip output.jpg # Batch flip all JPGs horizontally
Get-ChildItem -Filter *.jpg | ForEach-Object { magick $_.FullName -flop "flipped_$($_.Name)"
}
# Requires ImageMagick 7.1.1-29+
# Horizontal flip (mirror)
magick input.jpg -flop output.jpg # Vertical flip
magick input.jpg -flip output.jpg # Batch flip all JPGs horizontally
Get-ChildItem -Filter *.jpg | ForEach-Object { magick $_.FullName -flop "flipped_$($_.Name)"
}
# Horizontal flip
sips -f horizontal input.jpg --out flipped.jpg # Vertical flip
sips -f vertical input.jpg --out flipped.jpg # Batch flip all JPGs horizontally
for f in *.jpg; do sips -f horizontal "$f" --out "flipped_$f"
done
# Horizontal flip
sips -f horizontal input.jpg --out flipped.jpg # Vertical flip
sips -f vertical input.jpg --out flipped.jpg # Batch flip all JPGs horizontally
for f in *.jpg; do sips -f horizontal "$f" --out "flipped_$f"
done
# Horizontal flip
sips -f horizontal input.jpg --out flipped.jpg # Vertical flip
sips -f vertical input.jpg --out flipped.jpg # Batch flip all JPGs horizontally
for f in *.jpg; do sips -f horizontal "$f" --out "flipped_$f"
done
# Install
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install imagemagick # Horizontal flip
magick input.jpg -flop output.jpg # Vertical flip
magick input.jpg -flip output.jpg # Batch flip
magick mogrify -flop *.jpg
# Install
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install imagemagick # Horizontal flip
magick input.jpg -flop output.jpg # Vertical flip
magick input.jpg -flip output.jpg # Batch flip
magick mogrify -flop *.jpg
# Install
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install imagemagick # Horizontal flip
magick input.jpg -flop output.jpg # Vertical flip
magick input.jpg -flip output.jpg # Batch flip
magick mogrify -flop *.jpg
/* Horizontal flip */
.flipped-h { transform: scaleX(-1); } /* Vertical flip */
.flipped-v { transform: scaleY(-1); } /* Both */
.flipped-both { transform: scale(-1, -1); }
/* Horizontal flip */
.flipped-h { transform: scaleX(-1); } /* Vertical flip */
.flipped-v { transform: scaleY(-1); } /* Both */
.flipped-both { transform: scale(-1, -1); }
/* Horizontal flip */
.flipped-h { transform: scaleX(-1); } /* Vertical flip */
.flipped-v { transform: scaleY(-1); } /* Both */
.flipped-both { transform: scale(-1, -1); }
# -weight: 500;">pip -weight: 500;">install Pillow==10.2.0
from PIL import Image img = Image.open('input.jpg') # Horizontal flip
img.transpose(Image.FLIP_LEFT_RIGHT).save('flipped_h.jpg') # Vertical flip
img.transpose(Image.FLIP_TOP_BOTTOM).save('flipped_v.jpg')
# -weight: 500;">pip -weight: 500;">install Pillow==10.2.0
from PIL import Image img = Image.open('input.jpg') # Horizontal flip
img.transpose(Image.FLIP_LEFT_RIGHT).save('flipped_h.jpg') # Vertical flip
img.transpose(Image.FLIP_TOP_BOTTOM).save('flipped_v.jpg')
# -weight: 500;">pip -weight: 500;">install Pillow==10.2.0
from PIL import Image img = Image.open('input.jpg') # Horizontal flip
img.transpose(Image.FLIP_LEFT_RIGHT).save('flipped_h.jpg') # Vertical flip
img.transpose(Image.FLIP_TOP_BOTTOM).save('flipped_v.jpg')
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const img = new Image();
img.onload = () => { canvas.width = img.width; canvas.height = img.height; // Horizontal flip ctx.scale(-1, 1); ctx.drawImage(img, -img.width, 0);
};
img.src = 'input.jpg';
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const img = new Image();
img.onload = () => { canvas.width = img.width; canvas.height = img.height; // Horizontal flip ctx.scale(-1, 1); ctx.drawImage(img, -img.width, 0);
};
img.src = 'input.jpg';
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const img = new Image();
img.onload = () => { canvas.width = img.width; canvas.height = img.height; // Horizontal flip ctx.scale(-1, 1); ctx.drawImage(img, -img.width, 0);
};
img.src = 'input.jpg'; - Open Pixotter's Rotate tool.
- Drop your image onto the page (or click to browse).
- Click the Flip Horizontal or Flip Vertical button.
- Download the result. - Open the image in Photos.
- Click Edit image (pencil icon) or press Ctrl+E.
- Click Crop & rotate.
- Click the Flip icon (horizontal mirror symbol). - Open the image in Paint.
- Click Rotate in the toolbar.
- Select Flip horizontal or Flip vertical.
- File → Save. - Open the image in Preview.
- Tools → Flip Horizontal or Flip Vertical.
- File → Save (Cmd+S). - Open the image in GIMP (version 2.10.36, GPLv3 license).
- Image → Transform → Flip Horizontally or Flip Vertically.
- File → Export As to save. - Open the photo in the Photos app.
- Tap Edit (top right).
- Tap the Crop icon (bottom toolbar).
- Tap the Flip icon (top left — two triangles with arrows). - Open the photo in Google Photos.
- Tap Edit → Crop.
- Tap the Flip icon (mirror symbol).
- Tap Save copy.