Possible Duplicate:
What’s the difference between <b> and <strong>, <i> and <em>?

Seems both of them can achieve the same effect for me.

54 accepted

<b> is presentational:

Rendering of font style elements depends on the user agent.

<strong> is semantic:

Phrase elements add structural information to text fragments.


<strong> is semantic. That affects speech readers and the like. The <b> is not deprecated. It just changes the appearance. Use the former for emphasis in a semantic sense. Use the latter just for styling that isn't semantic (eg the first letter in a logo).

To clarify, from the HTML 4.01 Specification in 9 Text:

          Indicates emphasis.
          Indicates stronger emphasis.

and 15 Alignment, font styles, and horizontal rules:

TT: Renders as teletype or monospaced text.
I: Renders as italic text style.
B: Renders as bold text style.
BIG: Renders text in a "large" font.
SMALL: Renders text in a "small" font.
STRIKE and S: Deprecated. Render strike-through style text.
U: Deprecated. Renders underlined text.

You'll also note that <b> is not deprecated.


They can. <strong> is the preferred choice, as HTML is supposed to describe what things ARE, not what they should look like. <strong> can mean different things. <b> just means bold.


<b> saves you 5 bytes of bandwidth, and another 5 more for </b>, assuming you're not compressing your HTTP traffic in some manner. If you are compressing, the savings will be negligible.


So essentially, the <strong> tag has been chosen over the <b> tag (while still a valid element) by standardists because html should only represent the structure of the data and not the presentation, "bold" was determined to be a presentational description of bold text (remember presentation belongs in your CSS) so the name strong was chosen as a structural way to expain how bold text functions, a screen reader might read it "strongly".

The same is true for italics, they are read with "emphasis" and there for <em> was chosen.


Some day, when we can count on more than just the 10 "core" font families on the web, we'll be able to use font families with more than just the four standard styles. (Normal, bold, italic, and bold-italic.)

We don't have this double paucity in other parts of the design world. I'd like to be able to call up, say, Myriad Semibold, or Futura Extra Black, wherever I have a <strong> tag. These are not "bold". They are distinct weights in very diverse font families that also have proper bolds.


As others have said, <strong> is semantic, while <b> is not.

It should also be noted that the <b> and <i> tags are not deprecated. I think the HTML5 spec (note: very long page!) is very interesting on this matter:

The b element represents a span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is boldened.


The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, a thought, a ship name, or some other prose whose typical typographic presentation is italicized.


The difference is one makes CSS "gurus" angry when you use it.

For all practical purposes it doesn't matter.


Thought you might like to know the updates on the above tags. Not much, other than a clearer definition of what they are and how best to use them. Like I have said in the past concerning screen readers, both <i></i> and <b></b> will have no emphasis when a screen reader sees them, however with both <em></em> and <strong></strong> tags the emphasis is pronounced either a little or a lot (strongly).

When we build our pages, we should check with the copy writer and use <strong></strong> only when the words or phrases need the emphasis, otherwise if it is strictly for visual appeal and effect, then we should stick to <b></b>.

The same applies to <i></i> and <em></em>. When a minor emphasis is needed, then we should use <em>, otherwise it?s <i></i> and again only for the visual effect presented on screen.

And now that screen readers better interpret the tags AND can properly identify and place the correct emphasis, we are seeing what was once old and on it?s way to deprecation, being used more correctly AND will be around for a long time.

And yes, neither has any effect (positive or negative) on SEO.

There is much confusion in the postings above, and honestly not sure where some of the information came from.

One last note. If you are looking to emphasize your content for the screen readers, but do not want the visual change on screen, use your css to correct and adjust the tag(s) in question. Happy coding folks!