Responsive Image Sets
Responsive images
without the pipeline.
One source image becomes a complete responsive image set — multiple breakpoints, multiple formats, production-ready HTML — in seconds. No build tools, no CLI scripts, no cloud service.
The Problem
Responsive images are hard
Every modern website needs responsive images. But getting them right means juggling multiple concerns at once.
Multiple widths
Different screen sizes need different image widths — 640px, 768px, 1024px, 1200px, 1920px, 2560px. That's six versions of every image.
Multiple formats
AVIF for Chrome and Firefox, WebP for Safari and Edge, JPEG as a universal fallback. That's three formats per width.
Correct markup
Each combination needs correct <picture> markup with <source> elements, srcset attributes, and sizes hints.
Repeat for every image
Hero images, product photos, banners — each one needs the full treatment. Most teams solve this with Sharp scripts, Cloudinary, or custom build plugins.
The Solution
One pass. Everything generated.
PicSquish generates the complete set in one pass: 1 source image becomes 18+ optimised files plus ready-to-use HTML.
Import your source image
Drag and drop or use the file picker. PicSquish accepts any format it can read — including RAW files.
Choose breakpoints
Pick from 6 presets (Minimal, Standard Web, Comprehensive, Mobile-First, Retina-Ready, E-Commerce) or define your own custom widths.
Choose formats
Select any combination of AVIF, WebP, JPEG, and PNG. PicSquish generates every selected width in every selected responsive format.
Click Generate
PicSquish outputs all files plus production-ready HTML, JSX, or Markdown — ready to paste into your project.
What you get
Files and HTML, ready to ship
Generated files
hero-640.avif hero-640.webp hero-640.jpg
hero-768.avif hero-768.webp hero-768.jpg
hero-1024.avif hero-1024.webp hero-1024.jpg
hero-1200.avif hero-1200.webp hero-1200.jpg
hero-1920.avif hero-1920.webp hero-1920.jpg
hero-2560.avif hero-2560.webp hero-2560.jpgAuto-generated HTML (copy-paste ready)
<picture>
<source
type="image/avif"
srcset="hero-640.avif 640w, hero-768.avif 768w,
hero-1024.avif 1024w, hero-1200.avif 1200w,
hero-1920.avif 1920w, hero-2560.avif 2560w"
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 1200px">
<source
type="image/webp"
srcset="hero-640.webp 640w, hero-768.webp 768w,
hero-1024.webp 1024w, hero-1200.webp 1200w,
hero-1920.webp 1920w, hero-2560.webp 2560w"
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 1200px">
<img
src="hero-1200.jpg"
srcset="hero-640.jpg 640w, hero-768.jpg 768w,
hero-1024.jpg 1024w, hero-1200.jpg 1200w,
hero-1920.jpg 1920w, hero-2560.jpg 2560w"
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 1200px"
alt="Hero image"
width="2560" height="1440"
loading="lazy">
</picture>Presets
Breakpoint presets
Choose from six built-in presets or define your own custom widths for any use case.
| Preset | Widths | Best for |
|---|---|---|
| Minimal | 640, 1024, 1920 | Simple sites, blogs |
| Standard Web | 640, 768, 1024, 1200, 1920, 2560 | Most websites |
| Comprehensive | 320, 480, 640, 768, 1024, 1200, 1440, 1920, 2560, 3840 | Image-heavy sites |
| Mobile-First | 320, 480, 640, 768, 1024 | Mobile-optimised apps |
| Retina-Ready | 640, 1280, 1920, 2560, 3840 | High-DPI displays |
| E-Commerce | 400, 800, 1200, 1600 | Product photography |
| Custom | You decide | Everything else |
Flexibility
Output options
Fine-tune the generated output to match your project's requirements.
HTML flavours
Standard HTML, JSX for React and Next.js, or Markdown. Pick the syntax that matches your project.
Attributes
Configure alt text, loading (lazy/eager), fetchpriority (high/low/auto), and width/height for CLS prevention.
Sizes attribute
Auto-generated responsive layout hints, or supply your own custom sizes attribute for precise browser width selection.
Naming patterns
Token-based naming with {name}-{width}.{ext} and customisable patterns to match your existing file conventions.
Comparison
Why not just use a CDN?
CDN image services are excellent for dynamic, high-volume sites. But they come with trade-offs.
CDN image services
- Monthly cost (Cloudinary from £70+/mo)
- Network requests for every transformation
- External infrastructure dependency
- Don't work for static sites on Netlify, Vercel, or GitHub Pages
PicSquish
- Static files — upload to any hosting or CDN
- No vendor lock-in or recurring costs
- No API keys or configuration
- Works with every static site generator
Stop writing image scripts.
Generate your responsive sets in seconds, not sprints.
Download PicSquish