Do we still need forward slashes when closing void elements in HTML5?

In HTML5, do we still need the end slash like in XHTML?

<img src="some_image.png" />

validator.w3.org didn't complain if I dropped it, not even a warning. But some online documents seem to indicate the end slash is still required for tags such as img, link, meta, br, etc.


In HTML 5, the closing slash is optional on void elements such img (I am adding this because the currently accepted answer only says: "end tags must not be specified for void elements", and does not address closing slashes in void elements).

Citing from http://www.w3.org/TR/html5/syntax.html#start-tags (number 6):

Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single "/" (U+002F) character. This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.


img tags are Void Elements so they do not need an end tag.

Void elements area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

...

Void elements only have a start tag; end tags must not be specified for void elements.

W3C | WHATWG

That being said it's not strict parsing in HTML5 so it won't do any major harm.


The end slash for void elements is optional.

Both are valid HTML5:

<img src="some_image.png" />

and

<img src="some_image.png">

Void Elements are:

  • area
  • base
  • br
  • col
  • embed
  • hr
  • img 👍
  • input
  • link
  • meta
  • param
  • source
  • track
  • wbr

Besides interesting:

Void elements can't have any contents (since there's no end tag, no content can be put between the start tag and the end tag).

More details at: https://html.spec.whatwg.org/multipage/syntax.html#elements-2


See also the SO-question here:
Self-closing tags (void elements) in HTML5