Developers

Changelog

Only changes that affect public capabilities, URLs or developer expectations are recorded here.

2026.09.8 — Official migration CLI

Published placeholder-photo-migrate with local dry-run, safe writes, CI checks, provider filters, JSON reports, manual-review findings and no telemetry or source upload. Added the official migration guide and expanded provider-aware compatibility documentation.

2026.09.7 — Font cache delivery

Versioned the browser font requests so every self-hosted typeface receives the intended one-year immutable cache policy immediately, including behind the hosting edge cache. Renderer algorithms and existing generated-image URLs remain unchanged.

2026.09.6 — Release readiness, automatic optimization and AI discovery

Improved LCP resource priority, below-the-fold image loading, responsive image delivery, accessible colour contrast, intrinsic image sizing, static-asset cache policy, analytics CSP compatibility, canonical route consolidation and richer metadata. The generator now starts with only dimensions populated and lets Auto choose the smallest suitable format. Local fonts render consistently in SVG and raster output. Agent discovery now includes standards-aligned llms.txt, llms-full.txt and an installable SKILL.md package.

2026.09.5 — Object storage and legacy compatibility

Moved persistent generated derivatives behind a provider-neutral S3-compatible cache layer with bounded accounting, cleanup states, render locks, graceful uncached degradation and stable Placeholder.photo public URLs. Expanded and documented common via.placeholder.com URL compatibility, including static GIF output.

2026.09.4 — Consent and measurement readiness

Added a site-specific Consently consent layer, a permanent cookie-preference control, transparent Cookie Policy, privacy-first generator masking and two centrally configured Google Tag Manager containers: Placeholder.photo first, followed by the global Jansma VIP container. Both containers load on HTML pages after Consent Mode initialization, while optional measurement remains consent-controlled. Image and API responses remain free of banner, analytics and advertising code.

2026.09.3 — AI agent instructions

Added a footer-linked agent guide, a compact machine-readable instruction file and expanded llms.txt discovery so coding agents can select valid Placeholder.photo routes, formats, seeds and accessibility markup without inventing parameters.

2026.09.2 — Fonts, ownership and ad readiness

Added self-hosted Poppins, Space Grotesk, JetBrains Mono, Press Start 2P and the original Perfect DOS VGA 437 font used by the former Jansma VIP generator; expanded the Jansma VIP ownership presentation; introduced visible, dimensioned Revive-ready advertising-zone previews; and added an accessible illustrated history of the former placeholder.jansma.vip generator.

2026.09.1 — Gallery and avatar expansion

Expanded every launch photo category from one to eleven reviewed local masters, introduced immutable photo selection set v2, and added the versioned Layered+ avatar renderer with more art layers, accessories, background treatments and per-layer colour controls.

2026.09 — New independent platform

Introduced the unified Classic, Gradient, Pattern, Abstract, Photo, Logo and Avatar rendering architecture; deterministic seeds; immutable cache derivatives; modern generator UI; historical classic routes; developer documentation; and self-hosted production assets.

Compatibility policy

Documented URLs are treated as stable. If a parameter is replaced, a practical alias and a visible deprecation period are preferred over sudden removal. Material rendering changes receive a new internal renderer version.

placeholder.jansma.vip · 2024
Jansma VIP

Placeholder Image Generator

Create customizable placeholder images for your projects with ease.

Basic Placeholder: https://placeholder.photo/300x200 Current Placeholder.photo output in the former pixel style
Dynamic Generator
Width (px):300
Height (px):200
Custom Text:Optional
Recreated interface · current renderer and watermark rules
A little placeholder history

Same useful idea.
A much bigger toolkit.

Jansma VIP ran a compact generator at placeholder.jansma.vip from 2024. It handled the classic size, colour and text URLs that now remain supported by Placeholder.photo.

  1. 2022An unrelated earlier developer project used the Placeholder.photo domain.
  2. 2024Jansma VIP launched its own small generator at placeholder.jansma.vip.
  3. 2026The independently built Placeholder.photo platform brought Classic, procedural art, photos, logos and avatars together.

This is an independent new implementation—not a claim of ownership over the earlier 2022 project. The nostalgic panel is a faithful visual nod, rebuilt with today’s Placeholder.photo URLs.