Skip navigation

Simple iframe embed

Updated: 17.08.2026
Open as Markdown

The easiest way to add the player is to insert an <iframe> with a video or playlist URL. You can copy the code from the Kinescope dashboard or create it manually.

Basic code

<iframe
  src="https://kinescope.io/embed/VIDEO_ID"
  width="640"
  height="360"
  allow="autoplay; fullscreen; picture-in-picture; encrypted-media; gyroscope; accelerometer; clipboard-write; screen-wake-lock;"
  style="border: none;"
></iframe>

Replace VIDEO_ID with the ID of your video or playlist.

The allow attribute is required. Without it, autoplay, fullscreen, Picture-in-Picture, and DRM may not work.

Avoid using the sandbox attribute. If you need it, specify:

allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-presentation

URL parameters

Add parameters to the end of the URL to configure player behavior. Start them with ? and separate multiple values with &:

https://kinescope.io/embed/VIDEO_ID?autoplay=1&loop=1

<iframe
  src="https://kinescope.io/embed/VIDEO_ID?parameter=value"
  width="640"
  height="360"
  allow="autoplay; fullscreen; picture-in-picture; encrypted-media; gyroscope; accelerometer; clipboard-write; screen-wake-lock;"
  style="border: none;"
></iframe>

Supported parameters

ParameterValuesDescription
autofocustrue / false / 1 / 0Move focus to the player.
autoplaytrue / false / 1 / 0Start the video automatically after the player loads. If playback with sound fails, the player tries to start with sound muted.
autopausetrue / false / 1 / 0Pause when another player on the page starts playing.
mutedtrue / false / 1 / 0Mute the player.
looptrue / false / 1 / 0Loop the video.
playsinlinetrue / false / 1 / 0Play video on mobile devices without automatically entering fullscreen mode.
preloadtrue / false / 1 / 0Preload the video. false loads only the poster. true loads the required data in advance.
backgroundtrue / false / 1 / 0Hide all controls and set autoplay, muted, and loop to true.
tnumberTime in seconds where video playback starts.
seeknumberTime in seconds where playback starts. This trims the beginning of the manifest.
durationnumberClip duration in seconds. Use it with seek to show only part of a video.
qualityVideoQualityVideo quality: auto or height in pixels, such as 720 or 1080. See Optimization.
audiotrackstringEnable the audio track for the specified language. @experimental
texttracktrue / false / 1 / 0 / stringEnable subtitles. true selects the browser language, then the player language, then the first track. string selects the track for the specified language.
transparenttrue / false / 1 / 0Use a transparent player background.
titletrue / false / 1 / 0Show the title and subtitle.
controlstrue / false / 1 / 0Show player controls.
no_poster1 / 0Hide the poster.
keyboardtrue / false / 1 / 0Control the player with the keyboard.
speedbtntrue / false / 1 / 0Show the playback speed button.
notificationstrue / false / 1 / 0Show notifications in the player for network problems, errors, Chromecast, and other events. @experimental
watermarkstringWatermark text. Enable this feature in the dashboard. Otherwise, the player ignores the parameter.
dnttrue / false / 1 / 0Disable user activity tracking and metrics.
drmauthtokenstringCustom authorization token for license requests. See DRM encryption.
adtagurlstringAdvertising tag URL. See Advertising.
externalidstringCustom identifier sent with metrics.
You can use 1 and 0 instead of true and false. For example, ?autoplay=true and ?autoplay=1 are equivalent. A parameter without a value, such as ?autoplay, is treated as true.
The seek and duration parameters do not work with DRM-protected videos. You can use them with video URLs and HLS manifests.

This example plays a 30-second clip starting at 60 seconds:

<iframe
  src="https://kinescope.io/embed/VIDEO_ID?seek=60&duration=30"
  width="640"
  height="360"
  allow="autoplay; fullscreen; picture-in-picture; encrypted-media; gyroscope; accelerometer; clipboard-write; screen-wake-lock;"
  style="border: none;"
></iframe>

Lazy loading

When the <iframe> is outside the viewport, such as near the bottom of the page, you can delay loading it. This helps the page open faster:

<iframe loading="lazy" ...></iframe>

See Optimization for details.

Embed examples

Responsive player size

The player adapts to the container width. Place the code in your container and adjust the styles if needed.

<style>
  .kin-player-embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .kin-player-embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
  }
</style>
<div class="kin-player-embed-container">
  <iframe
    src="https://kinescope.io/embed/VIDEO_ID"
    allow="autoplay; fullscreen; picture-in-picture; encrypted-media; gyroscope; accelerometer; clipboard-write; screen-wake-lock;"
  ></iframe>
</div>

Fixed video size

<iframe
  src="https://kinescope.io/embed/VIDEO_ID"
  width="640"
  height="360"
  allow="autoplay; fullscreen; picture-in-picture; encrypted-media; gyroscope; accelerometer; clipboard-write; screen-wake-lock;"
  style="border: none;"
></iframe>

Next steps