Placeholder Image Generator Guide: Create Custom Images for Design Mockups

By Suvom Das March 12, 2026 8 min read

Placeholder images are essential tools for designers and developers creating mockups, prototypes, and wireframes. This guide covers how to generate custom placeholder images with specific dimensions, colors, and text, plus best practices for using placeholders in your design workflow.

What are Placeholder Images?

Placeholder images are temporary graphics used during the design and development process to represent where final images will be placed. They help visualize layouts, test responsive designs, and demonstrate image placement without requiring actual content.

Why Use Placeholder Images?

Common Placeholder Dimensions

Web & Social Media

# Social Media
1200 × 630   Facebook/LinkedIn share
1080 × 1080  Instagram post (square)
1080 × 1920  Instagram Story
1200 × 675   Twitter large image

# Website Headers
1920 × 1080  Full HD hero image
1600 × 900   Standard hero
2560 × 1440  2K hero

# Content Images
800 × 600    Standard content image
600 × 400    Medium content image
400 × 300    Small content image

UI Components

# Avatars & Profiles
150 × 150    Large avatar
64 × 64      Standard avatar
32 × 32      Small avatar

# Thumbnails
300 × 200    Video thumbnail
200 × 200    Product thumbnail
120 × 90     Small thumbnail

# Banners
728 × 90     Leaderboard
300 × 250    Medium rectangle
160 × 600    Wide skyscraper

Aspect Ratios

16:9  = 1920x1080, 1280x720, 800x450
4:3   = 1024x768, 800x600, 640x480
1:1   = 1000x1000, 500x500, 300x300
3:2   = 1500x1000, 900x600
21:9  = 2560x1080 (ultrawide)

Placeholder Image Services

via.placeholder.com

# Basic usage
https://via.placeholder.com/800x600

# With background color
https://via.placeholder.com/800x600/0077BE

# With text and colors
https://via.placeholder.com/800x600/0077BE/FFFFFF?text=Hero+Image

# Format specification
https://via.placeholder.com/800x600.png
https://via.placeholder.com/800x600.jpg

Lorem Picsum (Unsplash Random Photos)

# Random image
https://picsum.photos/800/600

# Specific image by ID
https://picsum.photos/id/237/800/600

# Grayscale
https://picsum.photos/800/600?grayscale

# Blur effect
https://picsum.photos/800/600?blur=2

# Random seed for consistency
https://picsum.photos/seed/picsum/800/600

placehold.co

# Simple placeholder
https://placehold.co/800x600

# With custom colors and text
https://placehold.co/800x600/EEE/31343C?text=Placeholder

# Format options
https://placehold.co/800x600.png
https://placehold.co/800x600.webp
https://placehold.co/800x600.svg

# Font customization
https://placehold.co/800x600?font=roboto&text=Custom+Font

DummyImage.com

# Basic
https://dummyimage.com/800x600

# With colors (bg/text)
https://dummyimage.com/800x600/000/fff

# Custom text
https://dummyimage.com/800x600/000/fff&text=Hello+World

# Format
https://dummyimage.com/800x600.png
https://dummyimage.com/800x600.gif

Creating Custom Placeholders

HTML/CSS Placeholder

<div class="placeholder"
     style="width: 800px;
            height: 600px;
            background: #ddd;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #999;
            font-size: 24px;">
  800 × 600
</div>

SVG Data URL Placeholder

<img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='600'%3E%3Crect width='800' height='600' fill='%23ddd'/%3E%3Ctext x='50%25' y='50%25' dominant-baseline='middle' text-anchor='middle' font-family='sans-serif' font-size='24' fill='%23999'%3E800 × 600%3C/text%3E%3C/svg%3E" alt="Placeholder">

Canvas-Generated Placeholder

function createPlaceholder(width, height, text) {
  const canvas = document.createElement('canvas');
  canvas.width = width;
  canvas.height = height;

  const ctx = canvas.getContext('2d');

  // Background
  ctx.fillStyle = '#ddd';
  ctx.fillRect(0, 0, width, height);

  // Text
  ctx.fillStyle = '#999';
  ctx.font = '24px sans-serif';
  ctx.textAlign = 'center';
  ctx.textBaseline = 'middle';
  ctx.fillText(text || `${width} × ${height}`, width/2, height/2);

  return canvas.toDataURL();
}

// Usage
const placeholderURL = createPlaceholder(800, 600, 'Hero Image');
document.getElementById('img').src = placeholderURL;

Responsive Placeholders

Using srcset

<img
  src="https://via.placeholder.com/800x600"
  srcset="https://via.placeholder.com/400x300 400w,
          https://via.placeholder.com/800x600 800w,
          https://via.placeholder.com/1200x900 1200w"
  sizes="(max-width: 600px) 400px,
         (max-width: 1200px) 800px,
         1200px"
  alt="Responsive placeholder"
>

CSS Responsive Placeholder

.placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: clamp(1rem, 3vw, 2rem);
}

/* Fallback for browsers without aspect-ratio */
@supports not (aspect-ratio: 16 / 9) {
  .placeholder::before {
    content: '';
    display: block;
    padding-bottom: 56.25%; /* 16:9 ratio */
  }
}

Picture Element with Placeholders

<picture>
  <source media="(min-width: 1200px)"
          srcset="https://via.placeholder.com/1920x1080">
  <source media="(min-width: 768px)"
          srcset="https://via.placeholder.com/1200x675">
  <img src="https://via.placeholder.com/800x600"
       alt="Responsive placeholder">
</picture>

Best Practices

1. Use Consistent Aspect Ratios

/* Good - consistent 16:9 */
Hero: 1920 × 1080
Medium: 1280 × 720
Thumbnail: 640 × 360

/* Avoid - mixed ratios */
Hero: 1920 × 1080 (16:9)
Medium: 800 × 600 (4:3)
Thumbnail: 300 × 300 (1:1)

2. Indicate Dimensions in Text

https://via.placeholder.com/800x600?text=Hero+Image+800x600

Benefits:
- Clear size reference
- Easy to identify in mockups
- Helps with content planning

3. Match Color Scheme

/* Primary brand color placeholders */
https://placehold.co/800x600/326CE5/FFFFFF?text=Logo

/* Neutral placeholders */
https://placehold.co/800x600/F5F5F5/999999?text=Content

4. Use Semantic Naming

<img src="https://via.placeholder.com/800x600"
     alt="Hero image placeholder"
     class="hero-image-placeholder"
     data-placeholder="hero">

5. Implement Lazy Loading

<img src="https://via.placeholder.com/10x10"
     data-src="https://via.placeholder.com/800x600"
     loading="lazy"
     alt="Lazy loaded placeholder">

Placeholder Image Formats

PNG (Best for Solid Colors)

JPG (Best for Photos)

SVG (Best for Scalability)

<svg width="800" height="600" xmlns="http://www.w3.org/2000/svg">
  <rect width="800" height="600" fill="#ddd"/>
  <text x="50%" y="50%"
        dominant-baseline="middle"
        text-anchor="middle"
        font-size="24"
        fill="#999">
    800 × 600
  </text>
</svg>

WebP (Best for Modern Browsers)

Advanced Techniques

CSS-Only Placeholder

.placeholder {
  position: relative;
  width: 800px;
  height: 600px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.placeholder::before {
  content: '800 × 600';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 24px;
  font-weight: 600;
}

Animated Placeholder (Skeleton)

.skeleton-placeholder {
  width: 800px;
  height: 600px;
  background: linear-gradient(
    90deg,
    #f0f0f0 25%,
    #e0e0e0 50%,
    #f0f0f0 75%
  );
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

Progressive Image Loading

<!-- Low quality placeholder -->
<img src="https://via.placeholder.com/50x37"
     data-src="https://example.com/image-800x600.jpg"
     class="progressive-image"
     style="filter: blur(10px);"
     alt="Progressive loading">

<script>
// Replace with high-res when loaded
const img = document.querySelector('.progressive-image');
const highRes = new Image();
highRes.src = img.dataset.src;
highRes.onload = () => {
  img.src = highRes.src;
  img.style.filter = 'blur(0)';
};
</script>

Placeholder Generators

QuickUtil.dev Placeholder Generator

Features to Look For

Common Use Cases

Design Mockups

<!-- Figma/Sketch style mockup -->
<div class="mockup">
  <img src="https://via.placeholder.com/1920x1080?text=Hero+Section"
       alt="Hero mockup">
  <img src="https://via.placeholder.com/400x300?text=Feature+1"
       alt="Feature 1">
  <img src="https://via.placeholder.com/400x300?text=Feature+2"
       alt="Feature 2">
</div>

Component Libraries

<!-- Card component with placeholder -->
<div class="card">
  <img src="https://via.placeholder.com/400x250?text=Card+Image"
       alt="Card thumbnail">
  <h3>Card Title</h3>
  <p>Card description text...</p>
</div>

E-commerce Product Grids

<div class="product-grid">
  <div class="product">
    <img src="https://via.placeholder.com/300x300?text=Product+1"
         alt="Product 1">
  </div>
  <div class="product">
    <img src="https://via.placeholder.com/300x300?text=Product+2"
         alt="Product 2">
  </div>
  <!-- More products -->
</div>

Replacing Placeholders

Before Production Checklist

Automated Detection

// Find all placeholder images
const placeholders = document.querySelectorAll('img[src*="placeholder"]');
console.warn(`Found ${placeholders.length} placeholder images!`);

placeholders.forEach(img => {
  console.log('Placeholder:', img.src, img.alt);
});

Conclusion

Placeholder images are invaluable during the design and development process, allowing you to create functional mockups and prototypes before final content is available. By using the right dimensions, colors, and formats, and following best practices, you can create professional-looking designs that accurately represent the final product.

Use QuickUtil.dev's Placeholder Image Generator to create custom placeholder images with exact dimensions, colors, and text for your projects. Generate URLs or download images instantly for seamless integration into your workflows.

Frequently Asked Questions

What is a placeholder image?

A placeholder image is a temporary image used in design mockups, prototypes, and wireframes to represent where final images will be placed. They help visualize layouts without requiring actual content.

How do I generate a placeholder image?

Use a placeholder image generator by specifying dimensions (e.g., 800x600), background color, text color, and optional custom text. The tool generates an image URL or downloadable file.

What are common placeholder image dimensions?

Common dimensions: 1920x1080 (Full HD), 1200x630 (social media), 800x600 (standard), 400x300 (thumbnail), 300x250 (banner), and 150x150 (avatar/profile pic).

Can I use placeholder images in production?

Placeholder images should be replaced with real content before production. They're meant for development, testing, and design mockups only. Always use final images in live websites.

What's better: lorem picsum or custom placeholder?

Lorem Picsum provides random photos for realistic previews. Custom placeholders show exact dimensions and are better for wireframes. Use Lorem Picsum for visual design, custom for layout testing.

How do I add custom text to placeholder images?

Most placeholder generators allow custom text via URL parameters or form inputs. Example: /800x600?text=Hero+Image or using a generator interface to specify dimensions and text.

What file formats are best for placeholder images?

PNG for solid colors and text (lossless), JPG for photographic placeholders (smaller file size), SVG for scalable placeholders, and WebP for modern browsers (best compression).

Can placeholder images be responsive?

Yes, use CSS to make placeholders responsive: width: 100%; height: auto; or use srcset with multiple placeholder sizes for different breakpoints. SVG placeholders scale infinitely.

Generate Custom Placeholder Images

Create placeholder images with custom dimensions, colors, and text for your design mockups and prototypes instantly.

Try the Placeholder Image Generator Now