Setup Options

These are the options for configuring the layout and playback behavior of a player. Each is placed directly into the setup of the player.


Property Description
aspectratio string Maintains proportions when width is a percentage

This value will not be used if the player is a static size. Must be entered in ratio x:y format.
controls boolean Whether to display the video controls (control bar and display icons)

Default: true
displaydescription boolean Configures if the description title of a media file should be displayed

Default: true
displayHeading 8.6.0+ boolean (Outstream only) Controls if heading above the outstream player is displayed

Possible values:
  • false: (Default) No heading is shown
  • true: Heading is shown with default text, Advertisement
Use intl.{lang}.displayHeading to customize or localize text.
displayPlaybackLabel 8.6.0+ boolean Enables call-to-action text beneath the play button on the player idle screen

When set to true, you can potentially see up to a 5% increase in the number of times viewers click the play button to watch a video.

The default call-to-action text is Play. You can also localize this message for your viewers.

Default: false
displaytitle boolean Configures if the title of a media file should be displayed

Default: true
height number Desired height of the video player (in pixels)

This property should be omitted when aspectratio is defined.

Default: 360
horizontalVolumeSlider 8.18.4+ boolean Displays the volume slider horizontally within the control bar

If the player is in audio mode, a horizontal slider will always be displayed.

By default, the volume slider is displayed as a vertical slider above the control bar.

Default: false
nextUpDisplay boolean Configures whether the Next Up modal is displayed
qualityLabels array By default, the JW Player will set video quality levels using information from the manifest files. Use this configuration option to apply a custom quality label to a desired bandwidth in kbps, works for HLS and DASH.

renderCaptionsNatively 8.0.1+ boolean (Chrome and Safari only) Determines if the renderer of the browser or of the player is used to display captions

Possible values:
  • true: (Safari default) Captions render using the renderer of the browser.
  • false: (Chrome default) Captions render using the renderer of the player.
See also: captions
stretching string Resize images and video to fit player dimensions

Possible values:
  • uniform: (Default) Fits JWP player dimensions while maintaining aspect ratio
  • exactfit: Will fit JWP player dimensions without maintaining aspect ratio
  • fill: Will zoom and crop video to fill dimensions, maintaining aspect ratio
  • none: Displays the actual size of the video file with black borders
width number | string Desired width of your video player (in pixels or percentage)

Default: 640


aboutlink stringCustom URL to link to when clicking the right-click menu
abouttext stringCustom text to display in the right-click menu-
allowFullscreen boolean 8.22.0+When set to false, fullscreen functionality is completely disabled in the player including tapping, clicking, keyboard shortcuts, and API access. Can be re-enabled through the corresponding API method.true
autostart stringWhether the player will attempt to begin playback automatically when a page is loaded. Set to 'viewable' to have player autostart if 50% is viewable.false
defaultBandwidthEstimate 8.3.0+ numberWhen set, suggests an initial bandwidth estimate (in bits per second) which overrides the default bandwidth estimate of the player for new viewers to your site

Use case: New users to your site may experience low-quality video for several seconds before the quality adapts to the connection speed at which content is delivered. This speed may be limited by their connection speed. In this case, you would want to confirm that the majority of your viewers have fast connections.

NOTE: Since this property sacrifices player performance for video quality, it is strongly recommended not to set this property. The player is optimized to select the best bandwidth after several seconds.
generateSEOMetadata 8.26.1+ booleanEnables Google SEO Optimization.false
liveSyncDuration 8.12.0+ numberDefines the distance from the live edge in seconds in the following scenarios:

• The player attempts to start a live or DVR stream
• A user clicks the Live button to return to the live content of the stream

This property can accept any value between 5-30. Leave blank in 8.19.0+ for the player to determine target latency based on the stream.
defaults to 25 <8.19.0
mute booleanConfigures if the player should be muted during playback

If a user overrides this property, the user’s action will persist for the duration of the user session. For example, if all players are configured with mute: true and a user unmutes a player, each subsequent player that the user encounters will start unmuted.
nextupoffset 8.9.0+ number | stringConfigures when the Next Up card displays during playback

A positive value is an offset from the start of the video. A negative value is an offset from the end of the video. This property can be defined either as a number (-10) or a percentage as a string ("-2%")
pipIcon 8.21.0+ stringAdds a Picture in Picture icon and right click menu options to supported desktop browsers only

Setting this option to disabled removes this icon. You can also hide this icon with CSS.
playbackRateControls booleanWhether to display a settings menu to adjust playback speed. If true, the pre-defined options available in the menu are 0.5x, 1x, 1.25x, 1.5x, and 2x. An array can be passed to customize the menu options using playbackRates. Note: This feature is not currently supported in Android with HLS streams.false
playbackRates 8.0+ array of numbersCustom playback rate options to display in the settings menu.[0.25, 0.75, 1, 1.25]
playlistIndex 8.15.0+numberItem within a playlist to start playback

Within the playlist, the first index is 0.

If the playlistIndex value is negative, the index starts counting from the end of the playlist. A negative value cannot exceed the absolute number of playlist items. For example, in a playlist of 5 items, "playlistIndex": -5 is the lowest acceptable negative number.

This property applies to JSON, RSS, and array playlists.
repeat booleanConfigures if the player should loop content after a playlist completesfalse



The following properties are related to media that is loaded into the player.

You should use the playlist object to define the content that is loaded into the player.

If you have a single content item to load in a player, you can use the following properties to define this item directly within jwplayer().setup. If you are planning on using multiple media items, these can also be used inside of a playlist array.

Property Description
file string URL to a single video file, audio file, or live stream to play

This can also be configured inside of a sources array
description string Description of the media item
image string URL to a poster image to display before playback starts
mediaid string Unique identifier of the media item, used by advertising, analytics and discovery services
title string Title of the media item
type string Media file type

Defining the media file type is required when using a media file url that does not have an extension.

Possible values:
  • aac
  • f4a
  • f4v
  • hls
  • m3u
  • m4v
  • mov
  • mp3
  • mp4
  • mpeg
  • oga
  • ogg
  • ogv
  • vorbis
  • webm


YouTube and RTMP media formats are no longer supported.8.0+

Rendering and Loading

Property Description
base string Configures an alternate base path for skins and providers

Default: /
flashplayer < 8.19.0 string
As per Adobe, Flash Player is no longer supported.
Specifies an alternate directory of jwplayer.flash.swf

Default: /
hlsjsdefault boolean Makes HLSjs the default provider when using Chrome for Android

Disable this property to use the browser's default provider.

Default: true
liveTimeout 8.1.9+ number Configures how a stalled live manifest is handled

This property accepts a positive number in seconds, but values between 1-10 are ignored. Set this property to 0 to configure a stream to never time out.

The player will continue requesting manifests until it times out. If a live manifest does not update after being requested for longer than liveTimeout, the stream will end with an error event. If you want a stream to end immediately, include an end tag in the manifest.

This configuration option only handles stalled manifests, not issues with segment loading. A chunk that results in a 404, for example, will still error out.

Default: 30
loadAndParseHlsMetadata boolean To enable HLS playback in Safari to trigger the same metadata events that are triggered during HLS playback in Chrome, the player will make additional requests to HLS playlists provided they contain PROGRAM-DATE-TIME tags that the player can use to embed timed metadata.

Possible values:
  • true: (Default) The player loads and parses the playlist manifest as it is loaded by Safari and synchronizes the results with media playback. This will also result in multiple manifest requests.
  • false: Prevents the player from sideloading live HLS manifests to parse out-of-band manifest metadata that Safari does not expose like DATERANGE, CUE-OUT, CUE-IN, and DISCONTINUITY tags.
preload string Tells the player if content should be loaded prior to playback

This is useful for faster playback speed or if certain metadata should be loaded prior to playback.

Possible values:
  • metadata: (Default) Loads the manifest and buffers a maximum of one segment of media for HLS and Dash streams
  • auto: Loads the manifest and buffers approximately 30 seconds worth of media segments
  • none: No content preloaded. This option is recommended if you are concerned about excess content usage.