Explain Codes LogoExplain Codes Logo

Are single quotes allowed in HTML?

html
best-practices
responsive-design
html-entities
Anton ShumikhinbyAnton Shumikhin·Jan 29, 2025
TLDR

Yes, single quotes (') are allowed in HTML for encapsulating attribute values, just as double quotes ("). For instance: <img src='image.jpg' alt='Photo'> is valid. To nest the same quote type, HTML entities are used — for example, &apos; for a single quote within single quotes, like so: alt='Bob&apos;s Photo'.

**Single quotes** (`'`) are **allowed** in HTML for wrapping attribute values, the same as **double quotes** (`"`). For example: `<img src='image.jpg' alt='Photo'>` is correct. To nest the same type of quote, use **HTML entities** — `&apos;` for a single quote within single quotes, like `alt='Bob&apos;s Photo'`.

Quotes compatibility in browsers

In HTML attributes, single (') and double (") quotes are universally accepted by all modern browsers. Based on personal preference or team's coding standards, you can choose either of the two, ensuring readability and consistency throughout your project.

Situations favoring single quotes

Using single quotes can prove to be handy in certain situations:

  • JavaScript strings with HTML: If your JavaScript code involves creating HTML, using single quotes for HTML attributes enables free usage of double quotes within the string.
  • Nested quotes: When you need to nest quotes, alternating between single and double quotes can help eschew the clutter of escape characters.
  • JS Template literals: ES6 brought template literals, where backticks (`) allow easy nesting of both single and double quotes.

Each of these scenarios benefits from single quotes, and are designed to make your code cleaner and your life easier.

Unquoted attributes: A risky gamble

Ever seen an HTML attribute without quotes? It's possible, but well, the outcome isn’t too pretty:

  • Whitespace: Attributes without quotes fall apart at spaces. It's like building a sandcastle beside waves.
  • Special characters: Certain characters like =, >, & could cause an attribute to end prematurely. Think of them as accidental code saboteurs.
  • Consistency: Quoted attributes assist in maintaining a consistent coding style, which in turn avoids confusion and is visually more readable.

Without quotes might save you a keystroke, but quoted attributes ensure robustness and maintainability.

Common pitfalls and pro tips

To keep your HTML clean and error-free:

  • Never mix quote types for a single attribute: <a href='example.com"'> compiles to an error code
  • HTML entities to the rescue: In an onclick event or similar scenarios where you can't avoid using the same quote, HTML entities (&apos;, &quot;) are your go-to trick.
  • Attribute minimization is a thing of the past: Always use quotes around values. checked="checked" will not error-check you.