Skip to content
Back to skills

Image Tools

ASecurity

CLI image manipulation — convert PNG/JPG to SVG, remove watermarks, resize, crop, and edit raster images using ImageMagick and vtracer

  • 23 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 28, 2026
toolsrustgo

Works with

  • cli

Security analysis

A100/100

Scanned May 28, 2026

npx -y skills add tta-lab/ttal-cli --skill image-tools --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Image Tools?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Image Tools
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tta-lab-image-tools/badge)](https://www.skillsdirectory.com/skills/tta-lab-image-tools)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: image-tools
description: CLI image manipulation — convert PNG/JPG to SVG, remove watermarks, resize, crop, and edit raster images using ImageMagick and vtracer
---

# Image Tools

CLI-first image manipulation using ImageMagick (raster) and vtracer (raster-to-vector).

## Prerequisites

```
# Check if installed
which magick && echo "imagemagick OK" || echo "need: brew install imagemagick"
which vtracer && echo "vtracer OK" || echo "need: cargo install vtracer"
```

Install if missing:
```
brew install imagemagick    # raster image editing
cargo install vtracer       # raster-to-vector conversion (Rust)
```

## Raster-to-SVG Conversion

### Simple flat icon (single/few colors)
Best for logos, icons, flat illustrations:

```
vtracer --input input.png --output output.svg \
  --colormode color \
  --filter_speckle 10 \
  --color_precision 4 \
  --corner_threshold 60 \
  --segment_length 6 \
  --gradient_step 32
```

### High-detail image
For complex images, increase precision:

```
vtracer --input input.png --output output.svg \
  --colormode color \
  --filter_speckle 4 \
  --color_precision 6 \
  --corner_threshold 60 \
  --segment_length 4
```

### Black-and-white / monochrome
For line art, text, or single-color designs:

```
vtracer --input input.png --output output.svg --colormode bw
```

### Tuning guide
- **file too large** → increase `filter_speckle`, `gradient_step`, decrease `color_precision`
- **too rough/blocky** → decrease `segment_length`, `filter_speckle`
- **too many colors** → decrease `color_precision` (1-8, lower = fewer colors)

## Raster Editing with ImageMagick

### Remove watermark / overlay
Paint over a region with a solid color (e.g. matching background):

```
# Get image dimensions first
magick identify input.png

# Paint rectangle over bottom-right corner (100x100 area)
magick input.png -fill "#0F0F0F" -draw "rectangle 1180,1180 1280,1280" output.png
```

### Resize
```
# Resize to specific width, maintain aspect ratio
magick input.png -resize 512x output.png

# Resize to exact dimensions
magick input.png -resize 512x512! output.png

# Resize to fit within bounds (no upscale)
magick input.png -resize 512x512\> output.png
```

### Crop
```
# Crop to 500x500 from top-left
magick input.png -crop 500x500+0+0 output.png

# Crop from center
magick input.png -gravity center -crop 500x500+0+0 output.png
```

### Format conversion
```
magick input.png output.jpg
magick input.jpg output.webp
magick input.png -quality 85 output.jpg
```

### Trim whitespace / transparent borders
```
magick input.png -trim +repage output.png
```

### Threshold (prepare for BW tracing)
```
magick input.png -threshold 50% output.pbm
```

## Common Workflows

### Clean image then convert to SVG
When source image has watermarks, logos, or artifacts:

```
# 1. Check dimensions
magick identify input.jpg

# 2. Remove unwanted elements (paint over with background color)
magick input.jpg -fill "#BACKGROUND" -draw "rectangle x1,y1 x2,y2" clean.jpg

# 3. Convert to SVG
vtracer --input clean.jpg --output output.svg --colormode color \
  --filter_speckle 10 --color_precision 4 --corner_threshold 60 \
  --segment_length 6 --gradient_step 32

# 4. Check output size (aim for <50KB for icons)
ls -la output.svg
```

### Create favicon from logo
```
# Resize to favicon sizes
magick logo.png -resize 32x32 favicon-32.png
magick logo.png -resize 16x16 favicon-16.png

# Or create .ico with multiple sizes
magick logo.png -resize 256x256 -define icon:auto-resize=256,128,64,48,32,16 favicon.ico
```

## Decision Guide

| Task | Tool |
|------|------|
| PNG/JPG → SVG | vtracer |
| Resize, crop, format convert | magick |
| Remove watermark | magick (paint over) → then vtracer if SVG needed |
| Trim borders | magick |
| Create favicon | magick |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.