In this lesson: Understand what HTML does and write a complete, valid page.
HTML stands for HyperText Markup Language. It is not a programming language — it has no logic, no loops and no calculations. Its only job is to describe what each piece of content is: this is a heading, this is a paragraph, this is an image.
The browser reads that description and decides how to display it. Your job as the author is to label the content honestly and let CSS handle the appearance.
A complete HTML page
Every page follows the same skeleton. Type this into a file called index.html and open it in a browser:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>My first page</title>
</head>
<body>
<h1>Hello, Rwanda</h1>
<p>This is my first web page.</p>
</body>
</html>
What each part does
<!DOCTYPE html>— tells the browser to use modern standards. Always the first line.<html lang="en">— wraps the whole document. Thelangattribute helps screen readers and search engines.<head>— information about the page: its character encoding, its title, links to stylesheets. None of this is displayed in the page area.<body>— everything the visitor actually sees.
<head> is metadata, the <body> is content. If you cannot see something you added, check whether you accidentally put it in the head.
The viewport line matters
That <meta name="viewport"> line tells phones to render the page at their real width instead of pretending to be a desktop and zooming out. Leave it out and your site will look tiny on a phone. It is one line and it is not optional in 2026.
Try it yourself
Create the file above, change the heading to your own name, save, and refresh the browser. That loop — edit, save, refresh — is the whole of front-end development.