---
type: doc
title: Video
description: A responsive video component that supports YouTube videos and shorts.
---

> Fulldev UI for React. The `@fulldev` registry in `components.json` points at `https://ui.full.dev/r/react/styles/{style}/{name}.json`; see [installation](/react/docs/installation.md).

```tsx title="Usage of @fulldev/video (react/gallery/ui/video.tsx, not installed)"
import * as React from "react"

import { Video } from "@/components/ui/video"

function Example({
  title,
  children,
}: {
  title: string
  children: React.ReactNode
}) {
  return (
    <section className="flex flex-col gap-3">
      <h2 className="text-sm font-medium text-muted-foreground">{title}</h2>
      <div className="flex flex-wrap items-start gap-4">{children}</div>
    </section>
  )
}

export default function Demo() {
  return (
    <div className="flex flex-col gap-10 p-6">
      <Example title="YouTube watch link">
        <Video
          src="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
          title="Example video"
          className="max-w-2xl rounded-xl"
        />
      </Example>
      <Example title="Short">
        <Video
          src="https://www.youtube.com/shorts/aqz-KE-bpKQ"
          title="Example short"
          className="rounded-xl"
        />
      </Example>
      <Example title="Unsupported link renders nothing">
        <Video src="https://example.com/video.mp4" />
        <p className="text-sm text-muted-foreground">
          Only YouTube links become embeds.
        </p>
      </Example>
    </div>
  )
}
```

## Installation

```bash
npx shadcn@latest add @fulldev/video
```

## Usage

```tsx
import { Video } from "@/components/ui/video"
```

## API Reference

Source: [`react/src/components/ui/video.tsx`](https://github.com/fulldotdev/ui/blob/main/react/src/components/ui/video.tsx)

## Install what this page shows

```bash
npx shadcn@latest add @fulldev/video
```
