HTML and CSS Reference
value : The value of the parameter.
As the HTML5 spec states, the embed element is “an integration point for an external (typically non-HTML)
application or interactive content.” In simpler terms, this element embeds content that requires a plug-in.
It's similar to the object element in that regard, but unlike object , embed is a void element that can't hold
any contents, meaning you can't readily provide any fallback content within the element. If the browser
lacks the requisite plug-in to process the embedded resource, the embed element won't do anything at all.
Listing 5-9 shows an example of the embed element, here embedding an MP4 video file. Some browsers
can play MP4 video natively, but only in a video element. If you embed the file directly with an embed
element (or object ), the browser will attempt to invoke the appropriate plug-in (such as QuickTime) to
handle the media.
Listing 5-9. An MP4 video clip embedded in a document with the embed element
<embed src="video/feature.mp4" type="video/mp4" width="394" height="298">
The video element is a far better way to embed videos in your web pages. However, you can use embed
within a video (or audio ) element to include the fallback for older browsers—either embedding a Flash-
based media player or embedding the media directly—the same way you would use the object element:
<video controls width="468" height="350">
<source src="video/mechanical-monsters.mp4" type="video/mp4">
<source src="video/mechanical-monsters.webm" type="video/webm">
<embed src="flash/video-player.swf" flashvars="video/mechanical-monsters.mp4"
type="application/x-shockwave-flash" width="468" height="350">
The embed element is newly standardized in HTML5, though it's actually been around for a long time as a
non-standard and invalid element. Not so long ago, embed enjoyed better cross-browser support than
object , even though embed wasn't part of any standardized HTML specification—it was introduced by
Netscape years ago and other browsers imitated Netscape's implementation.
The object element is fully supported in current browsers, but because so many websites used the non-
standard embed element for so long, embed became a de facto standard simply through common usage.
HTML5 has followed the “pave the cow paths” methodology: observe what people are using in the real
world, then tidy it up and make it official. The embed element is now valid in HTML5, but object is still
The embed element doesn't require any attributes, though a src attribute is usually required to provide the
resource's address. An embed element with no attributes is technically valid, but represents nothing.