# bezelkit — full reference for AI assistants > bezelkit is a zero-dependency web component, ``, that draws accurate device frames (iPhone, Pixel, Galaxy, foldables, iPad, MacBook, iMac, Apple Watch, browser windows) in pure CSS and fits a screenshot, video, live URL or your own HTML into the screen correctly. Screens use each device's real CSS viewport. MIT licensed. Website: https://bezelkit.dev This file is written for LLMs and coding agents. It is complete: you should not need any other page to use bezelkit correctly. Generated from the source on 2026-09-26 (v0.1.0, 41 devices). ## Install CDN, no build step (recommended for plain HTML, CMSs, docs sites, Webflow/Framer embeds): ```html ``` npm (bundlers, frameworks): ```sh npm i bezelkit ``` ```js import 'bezelkit'; // registers import { defineDevice, listDevices, getDevice } from 'bezelkit'; ``` The package is an ES module. Importing it has one side effect: it defines the `bezel-device` custom element (safe to import twice). TypeScript types ship in `index.d.ts`. ## Minimal usage ```html ``` That is all. The element scales to the width you give it and keeps the device's aspect ratio. ## How to choose the right device for a screenshot 1. Read the screenshot's pixel size, e.g. 1206 × 2622. 2. Find the device in the table below whose **native pixels** match (or whose aspect ratio matches). 1206 × 2622 → `iphone-17-pro` / `iphone-18-pro` (402 × 874 @3x). 3. If nothing matches exactly, pick the device the product targets and keep `fit="auto"` (the default); bezelkit will letterbox, pin or scroll instead of stretching. 4. Use `orientation="landscape"` for landscape phone/tablet screenshots. 5. Desktop web screenshots → a browser frame (`browser-chrome`, `browser-safari`, with `viewport="1440x900"` to match) or a laptop (`macbook-pro-14`, 1512 × 982 CSS px = 3024 × 1964 native). ## Sizing rules (important) - Give it a **width** (`style="width:320px"`, `width:100%` of a column, etc.). Height follows from the aspect ratio. - Give it a **width and a height** and it fits inside that box, centred. - In CSS Grid use `grid-template-columns: repeat(n, minmax(0, 1fr))`, not plain `1fr` (plain `1fr` lets the element's aspect ratio widen the column). - It is a block-level element (`display:block`). Don't wrap it in shrink-to-fit parents without a width. ## Attributes Every attribute is also a camelCase property (`el.safeArea = 'pad'`). Boolean attributes are present/absent. | Attribute | Values | Default | What it does | |---|---|---|---| | `device` | a device id or alias (see tables) | `iphone-17-pro` | Which frame to draw. Aliases: `iphone`, `android`, `pixel`, `galaxy`, `ipad`, `macbook`, `imac`, `watch`, `browser`, `fold`, `flip`. | | `src` | image / video / URL | — | Content for the screen. Type is detected from the extension (`.png .jpg .jpeg .webp .gif .avif .svg`, `.mp4 .webm .mov`); anything else becomes a live `