An embeddable, interactive 3D viewer for Counter-Strike 2 weapon skins.

Embed

Add the viewer to any page with an iframe:

<iframe
  src='https://3d.cstrike.app/view?item={"id":{"def":7,"index":44}}'
  width="800"
  height="600"
  loading="lazy"
></iframe>

URL parameters

item

URL-encoded JSON (either a or a CS2BaseInventoryItem).

interface ViewerItem {
  clip?: string; // looping animation for an agent or pet
  id: number | ItemDescription; // economy id, or as the game names it
  keychains?: Record<
    string,
    {
      id: number | ItemDescription;
      seed?: number; // material-variation seed
      x?: number; // absolute bone-space position
      y?: number;
      z?: number;
    }
  >;
  nameTag?: string; // name on a weapon or the Name Tag
  patches?: Record<string, number | ItemDescription>; // agent slot 0..2
  seed?: number; // paint seed; a charm's runs to 100000
  statTrak?: number; // kills on a StatTrak weapon or the Swap Tool
  stickers?: Record<
    string,
    {
      id: number | ItemDescription;
      rotation?: number; // degrees
      schema?: number; // markup position (defaults to the slot)
      wear?: number; // 0..1
      x?: number; // offset from the schema's default
      y?: number;
    }
  >;
  style?: number; // pet colour variant, from 1
  upgradeLevel?: number; // pet stage: 2 pullet, 3 hen
  wear?: number; // 0..1
}

// A field left out means "none" when some item has none of it.
// Must match exactly one item, or it's rejected like an unknown id.
interface ItemDescription {
  def?: number; // definition index
  index?: number; // paint, sticker, patch, charm or pet; 0 is none
  wrappedSticker?: number; // sticker slab: index of the sealed sticker
}
icon
Static inventory-icon pose instead of the interactive inspect.
key
Partner key. On approved origins, removes the watermark and raises rate limits.
cdn
Base URL for viewer assets. Must serve with permissive CORS.
bg
Gradient backdrop behind the canvas.
zoom
Initial zoom, from 0 (zoomed out) to 1 (zoomed in).
nospinner
Hides the built-in loading spinner.

Watermark & limits

Public embeds show a small watermark and are rate limited. To remove the watermark and lift the limits for your site, see Donate.