Our volunteers haven't translated this article into Gaeilge yet. Join us and help get the job done!
You can also read the article in English (US).

HTML (HyperText Markup Language) is the most basic building block of the Web. It describes and defines the content of a webpage. Other technologies besides HTML are generally used to describe a webpage's appearance/presentation (CSS) or functionality/behavior (JavaScript).

"HyperText" refers to links that connect webpages to one another, either within a single website or between websites. Links are a fundamental aspect of the Web. By uploading content to the Internet and linking it to pages created by other people, you become an active participant in the World Wide Web.

HTML uses "markup" to annotate text, images, and other content for display in a Web browser. HTML markup includes special "elements" such as <head>, <title>, <body>, <header>, <footer>, <article>, <section>, <p>, <div>, <span>, <img>, and many others.

The articles below will help you learn more about HTML.

  • HTML Introduction

    If you're new to Web development, be sure to read our HTML Basics article to learn what HTML is and how to use it.

  • HTML Tutorials

    For articles about how to use HTML, as well as tutorials and complete examples, check out our HTML Learning Area.

  • HTML Reference

    In our extensive HTML reference section, you'll find the details about every element and attribute in HTML.

Beginner's tutorials

Our HTML Learning Area features multiple modules that teach HTML from the ground up — no previous knowledge required.

Introduction to HTML
This module sets the stage, getting you used to important concepts and syntax such as looking at applying HTML to text, how to create hyperlinks, and how to use HTML to structure a web page.
Multimedia and embedding
This module explores how to use HTML to include multimedia in your web pages, including the different ways that images can be included, and how to embed video, audio, and even entire other webpages.
HTML tables
Representing tabular data on a webpage in an understandable, accessible way can be a challenge. This module covers basic table markup, along with more complex features such as implementing captions and summaries.
HTML forms
Forms are a very important part of the Web — these provide much of the functionality you need for interacting with websites, e.g. registering and logging in, sending feedback, buying products, and more. This module gets you started with creating the client-side/front-end parts of forms.
Use HTML to solve common problems
Provides links to sections of content explaining how to use HTML to solve very common problems when creating a web page: dealing with titles, adding images or videos, emphasizing content, creating a basic form, etc.

Advanced topics

CORS enabled image
The crossorigin attribute, in combination with an appropriate CORS header, allows images defined by the <img> element to be loaded from foreign origins and used in a <canvas> element as if they were being loaded from the current origin.
CORS settings attributes
Some HTML elements that provide support for CORS, such as <img> or <video>, have a crossorigin attribute (crossOrigin property), which lets you configure the CORS requests for the element's fetched data.
Focus management in HTML
The activeElement DOM attribute and the hasFocus() DOM method help you track and control a user's interactions with elements on a web page.
Using the application cache
Application caching lets web-based applications run offline. You can use the Application Cache (AppCache) interface to specify resources that the browser should cache and make available to offline users. Applications that are cached load and work correctly even if users click the refresh button when they are offline.
Preloading content with rel="preload"
The preload value of the <link> element's rel attribute allows you to write declarative fetch requests in your HTML <head>, specifying resources that your pages will need very soon after loading, which you therefore want to start preloading early in the lifecycle of a page load, before the browser's main rendering machinery kicks in. This ensures that they are made available earlier and are less likely to block the page's first render, leading to performance improvements. This article provides a basic guide to how preload works.

References

HTML reference
HTML consists of elements, each of which may be modified by some number of attributes. HTML documents are connected to each other with links.
HTML element reference
Browse a list of all HTML elements.
HTML attribute reference
Elements in HTML have attributes. These are additional values that configure the elements or adjust their behavior in various ways.
Global attributes
Global attributes may be specified on all HTML elements, even those not specified in the standard. This means that any non-standard elements must still permit these attributes, even though those elements make the document HTML5-noncompliant.
Inline elements and block-level elements
HTML elements are usually "inline" or "block-level" elements. An inline element occupies only the space bounded by the tags that define it. A block-level element occupies the entire space of its parent element (container), thereby creating a "block."
Link types
In HTML, various link types can be used to establish and define the relationship between two documents. Link elements that types can be set on include <a>, <area>, and <link>.
Media formats supported by the HTML audio and video elements
The <audio> and <video> elements allow you to play audio and video media. These elements provide a browser-native alternative to similar capabilities found in Adobe Flash and other plug-ins.
Kinds of HTML content
HTML is comprised of several kinds of content, each of which is allowed to be used in certain contexts and is disallowed in others. Similarly, each has a set of other content categories they can contain and elements which can or can't be used in them. This is a guide to these categories.
Quirks mode and standards mode
Historical information on quirks mode and standards mode.
Applying color to HTML elements using CSS
This article covers most of the ways you use CSS to add color to HTML content, listing what parts of HTML documents can be colored and what CSS properties to use when doing so. Includes examples, links to palette-building tools, and more.
View All...

Join the Web layout community

Choose your preferred method for joining the discussion:

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, SphinxKnight, sideshowbarker, Nomeh_Uchenna_Gabriel, LeeClifordEluna, Flinstone87, iamsamwilson, Sheppy, Mestari26, mfluehr, TornadoIDS, digiwizkid, teoli, SteadyShot, RyanJonesWebDev, whimsy, jswisher, rowdy_mehul, kberov, Maruti-Ram, Balabano, MJCD, OrthoLearner, uxitten, Jeremie, Innoarkle, erikroyall, globalnet, LegitStudent, charlimckay, saidkocdemir, salman-shah, KadirTopal, Thibaut, 19farmgirl74, Aminelahlou, Tigt, bartel, BradleyDon, pierreneter, Roman-Grebnev, MuhammedAltafHossain, hosttor, akanks, wbamberg, jsx, Bibit, austinharper, DevAsh, TeppoJouttenus, zlcaosh, anotherkabab, cobra9405, kimu, julia31, comeup, bilalshaw, yusuf.webriti, DamienBertrand, lerichard95, Nux, fjmorazan, shawarkhan52, robjohnson, gouravgupta92995, N.Thompson, aaronmayberry, thanhtungcmd, cordellew, Dray77, Weeshlow, alispivak, Shuffeledje37, jkm, Guidodesign, pzmconv, nhshojib, fscholz, senthilkumaran, smacpherson, stephaniehobson, dadukha, xfq, groovecoder, AbuNaif_Alharbi, Mncwango.celimpilo, sachin11.bangar, g1m, mahey, stevemao, jdrobertso, DevCoder, emmanuelodenyire, tenorioming@yahoo.com, girly, samruda, EmilyG, shing0608, poetue, architjain, mikemajzoub, vernvernvern, mohit_bhansali, ishita, XGamePT, akshayaurora, samuelbes, freeQ, Sumitsingh, danidominic, Dyvik, tregagnon, ViorelTudor, indrani7, allen618, Timmi, chriscook, kunal_dhir, Karter, satheeshanp, DarceyMckelvey, irowe, monica_luiza, SteveFaulkner, sharif_hasan, adambrenecki, ethertank, saikat, netfuzzer0xff, Don.Dominic.mathew, omercier67
 Last updated by: chrisdavidmills,