How to Use This Tool
Set a size, get an image. It is drawn in your browser, so no request leaves the page and there is nothing to break later.
Why not just use a placeholder service
Because <img src="https://someservice.example/1200x630"> is a third-party request
on every page view, and it carries more than you might expect:
- The Referer header, which is the full URL of the page doing the requesting. On a staging server or an internal tool, you have just told a company you have never heard of that the page exists and where it lives.
- Your visitors' IP addresses. In a jurisdiction with GDPR-style rules that is a disclosure to a processor you have no agreement with.
- An availability dependency. Every one of these services has had an outage or started rate-limiting. When it happens your layout collapses, and the cause is not in your code.
None of that is worth it for a grey rectangle with the dimensions written on it.
PNG or data URI
Download a file when it is going into a design, a repository or a mock. It is a real image and behaves like one.
Copy the data URI when you want it inline with no file at all. The whole image lives
in the src attribute, so there is no second request and nothing to deploy. The cost is
size: base64 adds about a third, and a data URI cannot be cached separately from the page holding it.
Fine for a placeholder, wrong for a real asset.
The sizes that are built in
The presets are the ones that are actually specified somewhere rather than merely common: 1200×630 for Open Graph, 1500×500 for an X header, 1280×720 for a YouTube thumbnail, 1080×1080 and 1080×1920 for square and vertical social. The device sizes are logical pixels, so double them for a 2× screen.
A note on JPEG
JPEG is offered because some pipelines require it, but a flat-colour placeholder is close to the worst possible input for it — the format is built for photographs, and a hard-edged label on a plain background is exactly what it handles badly. PNG will usually be both smaller and sharper here. The file size is shown for each format so you can see it rather than take my word for it.