placeholder · mock · png · local

Make placeholder images for mockups

Dimensions-labeled placeholder PNGs at any size with custom colors and text. Drop into mockups, layout previews, or design files.

Placeholder Image Generator
Size
800x600
pixels
Background
#1f2937
color
Text
#f9fafb
color
Label
800 x 600
default
input · image
Width
Height
Background
Text color
Custom label (optional)
output · preview
Quick Start

How it works

Pick an image, tune the options, then download the result. Everything runs in your browser.

  1. 01

    Set dimensions

    Width and height up to 4096px each.

    Files stay in memory as an HTMLImageElement — the original bytes are never uploaded, and EXIF metadata is preserved until you explicitly transform it.

    sizeuploadcanvaslocaldecode
    size · bytes800x600 · loaded
    canvas: 800x600
    loaded · decodedcanvas · ready
  2. 02

    Pick colors

    Background and text color via the color pickers.

    Encoder quality is exposed where the format supports it — JPEG and WebP get a 0–1 quality slider; PNG is lossless. Options re-render the canvas immediately.

    coloroptionslive previewencoderquality
    bg · tunable#1f2937 · live
    fillStyle = "#1f2937"
    options applied · liveencoder · live
  3. 03

    Override label (optional)

    Leave blank for the auto "W x H" label, or type any text.

    Pixel work runs on the Canvas 2D context — drawImage resamples with the browser’s bilinear filter and getImageData/putImageData back per-pixel passes.

    labelrenderCanvas 2Dpreviewpx-perfect
    label · resampledauto · px-perfect
    fillText("800 x 600", cx, cy)
    preview · livepx-perfect
  4. 04

    Download PNG

    Save the placeholder. Filename includes the dimensions.

    Downloads ship via a hidden anchor with an object URL — no server round-trip, and the file on disk is untouched. The output filename inherits a sensible suffix.

    exportdownloadblobclient-sideobject URL
    ok · blobready · saved
    placeholder-800x600.png
    shipped · ready to shipsuccess
Pro tips

Browser-only image work that scales

Convert with quality control

JPEG/WebP let you pick a 0–1 quality. Default 0.92 is a good compromise of size and visible quality.

PNG isn’t free

Use PNG only for transparency or sharp edges. For photos, WebP is smaller at the same perceived quality.

Strip EXIF for privacy

Photo EXIF often contains GPS, camera model, and timestamps. Strip before sharing public uploads.

Watch the colour profile

Convert to sRGB before web export. Wide-gamut images render oversaturated in non-managed browsers.

AVIF when it’s available

AVIF beats WebP on size at the same quality. Detect support via <picture> with fallbacks.

Lazy-load below the fold

Add loading="lazy" on <img>. The browser handles scheduling — no IntersectionObserver needed.

Use Cases

When to use this tool

Common workflows it speeds up.

Design mockups

Fill image slots before final assets arrive. Decoded into a Canvas 2D context — original bytes never leave the tab, so you can process customer-uploaded photos, internal screenshots, or sensitive diagrams without privacy concerns.

px-perfect

Storybook fixtures

Predictable images for component stories. Encoders expose quality 0–1 where the format supports it (JPEG, WebP); PNG and AVIF stay perceptually lossless. Pick 0.85 for web, 0.95 for archival, 0.7 for thumbnails.

quality-tunable

CMS dummy content

Populate test articles with consistent placeholders. Pair with the EXIF Stripper before sharing user-uploaded photos publicly. Camera serial numbers, GPS coordinates, and timestamps often hide in image metadata and leak more than the picture itself.

format-aware

Empty state UI

Build first-run states with branded swatches. Output preserves colour profile (sRGB) so it renders consistently across browsers, monitors, and print pipelines. Wide-gamut workflows can opt into Display P3 for modern Apple devices.

EXIF-safe

Email mocks

Sized placeholders for newsletter templates. Re-runs only on option changes, never on window resize, so the canvas stays responsive on large images. drawImage uses the browser's bilinear filter for fast resampling.

client-side

Quick offline alternative

Replacement for placehold.co when offline. Downloads as .png, .jpg, .webp, or .avif with the correct MIME so editors apply native handling on save. The filename inherits a sensible suffix derived from the input.

compression-ready
FAQ

Frequently asked questions

Yes. Leave the label blank for the auto 'W x H' default, or type anything.
4096x4096. Larger gets memory-bound.
Dark gray + white reads on both light and dark mockups. Override to brand colors anytime.
No — placeholders are fully opaque so they show up against any background.
No. Everything runs locally in your browser.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!