HTML includes five specialized elements for displaying technical documentation cleanly: code, pre, kbd, samp, and var. Using these semantic tags gives technical articles clear monospace styling and helps screen readers distinguish keyboard shortcuts from program output.
code: Marks an inline snippet or identifier inside a sentence, such as git status or Array.map().pre: Preserves spaces, tabs, and line breaks for multi-line code blocks when wrapped around a code element inside it.kbd: Represents physical keyboard keys or typed user input, like Ctrl + S.samp: Displays sample output printed by a terminal program or compiler.var: Marks mathematical or programming variable names in italics by default.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML Computer Code Tags</title>
<style>
body { font-family: system-ui, sans-serif; padding: 20px; line-height: 1.6; }
code, pre, kbd, samp { font-family: ui-monospace, monospace; }
kbd { background: #e2e8f0; border: 1px solid #94a3b8; border-radius: 4px; padding: 2px 6px; font-size: 0.9em; }
pre { background: #0f172a; color: #f8fafc; padding: 14px; border-radius: 8px; overflow-x: auto; }
</style>
</head>
<body>
<p>Press <kbd>Ctrl</kbd> + <kbd>S</kbd> to save your file.</p>
<p>Run <code>npm run build</code> to compile assets. Result: <samp>Build succeeded in 1.4s</samp>.</p>
<p>The area of a rectangle is <var>width</var> × <var>height</var>.</p>
<pre><code>function greet(name) {
return `Hello, ${name}!`;
}</code></pre>
</body>
</html>
When showing literal HTML tags inside pre and code blocks, replace < with < and > with >. Otherwise the browser parses those characters as real DOM tags instead of printing them on screen.
pre without code for source snippets: Wrap programming code inside both pre and code tags so both preservation and semantics stay intact.< inside HTML code examples: Unescaped script or div tags inside code execute or render as layout instead of text.pre without overflow-x: auto;: Long unbreakable code lines overflow narrow mobile screens unless you enable horizontal scrolling.pre preserves whitespace and line breaks while code tells browsers and assistive tools that the block contains computer code.
Add subtle padding, a light border, and a 2px bottom shadow in CSS so each kbd key pops slightly off the page.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With
Experiment with the code from this lesson in our interactive playground.