HTML

HTML

HTML Computer Code Elements

HTML provides a suite of semantic elements for marking up code-related content, making it more readable, accessible, and easier to style. In this tutorial you’ll learn how to use five key elements—<code>, <kbd>, <pre>, <samp>, and <var>—to enhance your HTML documents.

Learning Outcomes

After completing this tutorial, you will be able to:

  • Choose the right element (<code>, <kbd>, <pre>, <samp>, <var>) for code, input, or output.
  • Preserve multi-line formatting with <pre> and inline styling with <code>.
  • Document keyboard shortcuts accessibly using <kbd>.
  • Show program or device responses via <samp>.
  • Highlight variables and expressions using <var>.

Overview of Computer Code Elements

Element Purpose
<code> Marks up inline code snippets
<kbd> Denotes keyboard input (keys or key combos)
<pre> Preserves whitespace & line breaks for blocks
<samp> Represents sample program or device output
<var> Highlights variables or placeholders

HTML Element

The <code> element is for short fragments of computer code within a sentence or paragraph. Browsers render it in a monospace font, and you can target it with CSS for custom styling. Use <code> to mark up short fragments of code within a sentence or paragraph—for example, CSS declarations, JavaScript methods, or template syntax.

Syntax

<code>yourCodeHere()</code>

Notes:

  • Does not preserve multiple lines or extra spacing.
  • Always escape < and > inside the tag (&lt; and &gt;).
  • You can nest <code> inside <pre> for multi-line blocks.

Example:

<p>
  To add a CSS transition, use
  <code>transition: all 0.3s ease;</code>
  on your selector.
</p>

Output:

To add a CSS transition, use transition: all 0.3s ease; on your selector.

HTML <kbd> Element

Use <kbd> to show keys or key combinations that users should press. It’s ideal for documenting shortcuts or any interaction requiring keyboard input.

Syntax

<kbd>Key</kbd>

Notes:

  • Combine multiple <kbd> elements for sequences: <kbd>Ctrl</kbd> + <kbd>C</kbd>.
  • Screen readers announce these as “keyboard” roles, improving accessibility.

Example:

<p>
  To open DevTools in Chrome, press
  <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd>.
</p>

Output:

To open DevTools in Chrome, press Ctrl + Shift + I.

HTML <pre> Element

The <pre> element displays text exactly as written—spaces, tabs, and line breaks are all honored. Use it for larger blocks of code or ASCII art.

Syntax

<pre>
  // lines of code or text
</pre>

Notes:

  • Preserves all spaces, tabs, and line breaks exactly.

  • Often paired with <code> for syntax styling:

    <pre><code></code></pre>
    
  • Can be styled with CSS to change fonts or add scrollbars.

Example:

<pre><code>
function calculateArea(width, height) {
  return width * height;
}
</code></pre>

Output:


function calculateArea(width, height) {
  return width * height;
}

HTML <samp> Element

When you want to show what a program or device outputs, wrap that text in <samp>. It visually distinguishes sample responses from regular prose.

Syntax

<samp>Sample output text</samp>

Notes:

  • Inline by default; wrap in a block-level container if needed (<p>, <div>).
  • Screen readers treat it as ordinary text but you can add an ARIA role if desired.

Example:

<p>Server response:</p>
<p><samp>404 Not Found</samp></p>

Output:

Server response:

404 Not Found

HTML <var> Element

Use <var> for variables in code examples or mathematical expressions. By default browsers render it in italics.

Syntax

<var>variableName</var>

Notes:

  • Browsers render <var> in italics by default.
  • Semantically distinct from <em> or <i>; conveys programming/math context.

Example:

<p>
  The total width is
  <var>100%</var>
  of the container.
</p>

Output:

The total width is 100% of the container.

Supported Browsers

All modern browsers fully support these elements:

  • Google Chrome
  • Mozilla Firefox
  • Microsoft Edge
  • Safari
  • Opera

FAQs on HTML Computer Code Elements

Can I nest <code> inside <pre>?

Yes—you’ll often wrap <code> within <pre> to preserve formatting for multi-line code blocks while keeping semantic clarity.

Do HTML Computer Code Elements accept classes or IDs for styling?

Absolutely. All five tags support global attributes (class, id, data-*, etc.), so you can target them in your CSS or JavaScript.

Should I use <samp> or <code> for output?

Use <samp> when illustrating program or device output; reserve <code> for the code itself. This separation improves accessibility and makes styling more precise.

Subscribe to our newsletter

Get the freshest news and resources for developers, designers and digital creators in your inbox each week

© 2000 – 2025 SitePoint Pty. Ltd.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.