Prototyping Toolkit
Build clickable prototypes with placeholder images, lorem text, wireframe mode, and skeleton loading — no external tools needed.
Overview
Vanilla Breeze includes everything you need for rapid HTML prototyping without leaving your editor or relying on external tools. The toolkit provides:
data-mock— placeholder images, video, iframes, and canvasdata-lorem— placeholder text on any element with multi-language supportdata-wireframe— sketch-like wireframe mode with fidelity levelsdata-loading="skeleton"— skeleton loading states- Fake content CLI — realistic test data from the command line
All prototyping tools use data-* attributes on native HTML elements. Moving to production is a content swap — replace src, fill in real text, remove the data attribute. No HTML restructuring needed.
Placeholder Media
Add data-mock to <img>, <video>, <iframe>, or <canvas> to render a placeholder box with an X-pattern and optional label.
Basic usage
Presets
Named presets set aspect ratio and default dimensions via CSS. No width/height attributes needed.
| Preset | Aspect ratio | Default width |
|---|---|---|
hero | 3:1 | 100% |
card | 16:9 | 400px |
avatar | 1:1 | 48px |
product | 1:1 | 400px |
thumbnail | 1:1 | 150px |
logo | 4:1 | 200px |
og | 1200:630 | 100% |
banner | 728:90 | 100% |
Photo service
Use data-mock="photo" for realistic images from picsum.photos. Add data-seed for reproducible results.
Video, iframe, and canvas
data-mock works on all media elements. Video gets a poster overlay, iframes get srcdoc with a centered label, and canvas elements draw the placeholder pattern directly.
Inside figure
Works inside <figure> and <picture> with no structural changes.
Production transition
Replace src and remove data-mock. The HTML structure stays identical.
Placeholder Text
Add data-lorem to any text-containing element to fill it with placeholder text.
Basic usage
Options
| Value | Result |
|---|---|
| (empty) | ~50 words of lorem ipsum |
50 | 50 words |
3 sentences | 3 sentences |
heading | 5 words (heading-length) |
5 items | 5 list items (on <ul>/<ol>) |
cjk | CJK corpus (Chinese/Japanese/Korean) |
arabic | Arabic corpus |
cyrillic | Cyrillic corpus |
Multi-language support
The corpus auto-detects from the lang attribute on the element or its ancestors.
Wireframe Mode
Add data-wireframe to <html> or any container to enable wireframe rendering. Requires the dev CSS bundle.
Fidelity levels
| Level | Fonts | Borders | Colors |
|---|---|---|---|
lo | Scribble (Redacted Script) | Rough dashed | Pure B&W |
mid (default) | Block (Flow Block) | Dashed | Grayscale |
hi | System fonts | Subtle | Near-production |
annotate | System fonts | Labeled | Grayscale + labels |
JavaScript API
The VanillaBreeze.wireframe object is available when the dev JS bundle is loaded.
Callouts
Add data-wf-callout="comment text" to any element for design review notes. The JS API renders numbered markers and a footnote panel. See Callouts & Comments for details.
Integration with prototyping tools
data-mock media adapts automatically to wireframe tokens. data-lorem text in lo fidelity gets abstract letter-spacing for a text-block appearance. No extra configuration needed.
Skeleton Loading
The data-loading="skeleton" attribute renders pulsing placeholder blocks for content that is loading. Cross-reference: Loading states.
Loading title...
Loading content paragraph...
Fake Content CLI
For realistic test data (products, users, testimonials), use the CLI helper powered by Faker.js.
Faker is a Node.js devDependency only — it is not included in the browser bundle.
Image URL Utility
For JS-driven scenarios (dynamic galleries, programmatic mockups), use the image URL utility available on the dev bundle.
Full Demo
All prototyping tools working together — mock images, lorem text, and multi-language content in a complete page prototype. Toggle wireframe mode from the toolbar to see how the same HTML renders as a sketch.