HTML5ANDCSS3 logoHTML5ANDCSS3Tools and Tutorials
  • Insights
  • Verify Certificate
HTML5ANDCSS3 logoHTML5ANDCSS3Tools and Tutorials
HTML5ANDCSS3 logoHTML5ANDCSS3Tools and Tutorials

HTML5andCSS3.org helps developers learn modern frontend skills with practical tutorials, production-ready snippets, and fast web tools built for everyday coding.

Quick Links

  • About Us
  • Contact Us
  • Privacy Policy
  • Copyright
  • Disclaimer

Top Tools

  • Try It Editor
  • JSON Formatter
  • CSS Minifier
  • HTML Minifier
  • Base64 Encoder / Decoder

Contact

  • business@html5andcss3.org
Newsletter

Learn at your own pace, practice with useful tools, and build websites you're proud of.

© 2011-2026 html5andcss3.org. All rights reserved.

How to Use

HTML Tags

HTML Tags

HTML <!DOCTYPE> TagHTML <html> TagHTML <head> TagHTML <title> TagHTML <body> TagHTML <base> TagHTML <link> TagHTML <meta> TagHTML <style> TagHTML <script> TagHTML <h1 to h6> TagHTML <hgroup> TagHTML <p> TagHTML <br> TagHTML <wbr> TagHTML <hr> TagHTML <pre> TagHTML <b> TagHTML <strong> TagHTML <i> TagHTML <em> TagHTML <mark> TagHTML <small> TagHTML <del> TagHTML <ins> TagHTML <sub> TagHTML <sup> TagHTML <u> TagHTML <blockquote> TagHTML <q> TagHTML <cite> TagHTML <abbr> TagHTML <address> TagHTML <bdo> TagHTML <bdi> TagHTML <a> TagHTML <nav> TagHTML <ul> TagsHTML <menu> TagHTML <ol> TagHTML <dl> TagHTML <img> TagHTML <figure> TagHTML <figcaption> TagHTML <audio> TagHTML <video> TagHTML <source> TagHTML <track> TagHTML <embed> TagHTML <object> TagHTML <param> Tag (Obsolete)HTML <picture> TagHTML <canvas> TagHTML <map> TagHTML <area> TagHTML <table> TagHTML <caption> TagHTML <thead> TagHTML <tbody> TagHTML <tfoot> TagHTML <tr> TagHTML <th> TagHTML <td> TagHTML <col> TagHTML <colgroup> TagHTML <form> TagHTML <input> TagHTML <textarea> TagHTML <button> TagHTML <select> TagHTML <selectedcontent> TagHTML <option> TagHTML <optgroup> TagHTML <label> TagHTML <fieldset> TagHTML <legend> TagHTML <datalist> TagHTML <output> TagHTML <meter> TagHTML <progress> TagHTML <header> TagHTML <footer> TagHTML <article> TagHTML <section> TagHTML <aside> TagHTML <main> TagHTML <search> TagHTML <details> TagHTML <summary> TagHTML <dialog> TagHTML <time> TagHTML <noscript> TagHTML <slot> TagsHTML <template> TagHTML <shadow> Tag (Obsolete)HTML <center> TagHTML <font> TagHTML <big> TagHTML <strike> TagHTML <tt> TagHTML <acronym> TagHTML <applet> TagHTML <frame> TagHTML <frameset> TagHTML <noframes> TagHTML <marquee> TagHTML <blink> TagHTML <s> TagHTML <var> TagHTML <kbd> TagHTML <samp> TagHTML <code> TagHTML <dfn> TagHTML <div> TagHTML <span> TagHTML Comment TagHTML <data> TagHTML Ruby Annotations: <ruby>, <rt> and <rp>HTML <svg> TagHTML <basefont> Tag
  1. Home
  2. /
  3. Tutorials
  4. /
  5. HTML Tutorial
  6. /
  7. HTML <source> Tag

HTML Tags

HTML <source> Tag

The <source> tag is used to define multiple media resources for the <audio> and <video> elements.
It allows the browser to choose the best supported format automatically, ensuring better playback compatibility across devices.

Syntax

html

<source src="file.mp4" type="video/mp4">

Attributes

AttributeDescriptionExample
srcSpecifies the path (URL) of the media file.src="movie.mp4"
typeDefines the MIME type of the file to help browsers identify the format.type="video/mp4"
mediaSpecifies media query conditions (like screen size) for selecting this file.media="(min-width: 800px)"
sizesSpecifies image sizes for responsive designs (used in <picture>).sizes="(max-width: 600px) 480px, 800px"
srcsetSpecifies multiple image sources for different resolutions (used in <picture>).srcset="image-480.jpg 480w, image-800.jpg 800w"

Example

html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Source Tag Example</title>
</head>
<body>
  <h2>Example: Using <source> inside <video></h2>

  <video width="640" height="360" controls>
    <source src="https://ik.imagekit.io/html5andcss3/lesson-samples/sample_video.mp4" type="video/mp4">
    <source src="https://ik.imagekit.io/html5andcss3/lesson-samples/sample_video.webm" type="video/webm">
    Your browser does not support the video tag.
  </video>

  <h2>Example: Using <source> inside <audio></h2>

  <audio controls>
    <source src="https://ik.imagekit.io/html5andcss3/lesson-samples/audio.mp3" type="audio/mpeg">
    Your browser does not support the audio element.
  </audio>

</body>
</html>

Output

Browser Output

html

When used inside <audio> or <video>, the browser automatically picks the first supported file format and plays it.
Use our Try It Editor to see how browsers select media formats dynamically.

Browser Support

Chrome
Edge
Firefox
Safari
Opera
IE9+
YesYesYesYesYesYes

The <source> tag is fully supported in all major browsers starting from Internet Explorer 9.
It ensures media elements remain functional even when certain formats aren’t supported.

Notes

  • Always include at least two <source> elements for best compatibility (e.g., MP4 + WebM for videos).
  • Browsers read <source> elements from top to bottom and stop when they find the first supported format.
  • The <source> tag does not display anything by itself - it must be nested inside <video>, <audio>, or <picture>.

Conclusion

The <source> tag improves the flexibility and compatibility of media elements by letting developers provide multiple file formats.
It ensures that users across all browsers and devices can play the same content smoothly without additional plugins.

PreviousHTML <video> TagNextHTML <track> Tag