Making the “front-end” of websites combines skills in visual design, “user experience” (UX), and somewhat more technical work; some people describe their role as “designer”, which tends to be more work using Adobe tools or Figma, and then hand that off to “front-end developers” to convert the plan into a working site. Many people do both parts. For more about the design side, see Learn about design thinking and Learn about graphic design.

Front-end development involves three intertwined technologies: HTML, CSS, and JavaScript. Front-end developers are also usually the ones most involved in making sure web pages load quickly and are accessible to all people, including those with different kinds of disabilities. (You may sometimes hear the term “client-side.” That’s basically the same as “front-end.”)

HTML (Hypertext Markup Language) defines the structure of a page: paragraphs, sections, links, and such. The basics are super simple, but it’s good to understand the philosophy behind HTML. If you use the right tags, your pages will automatically take advantage of built-in accessibility features, especially those that help vision-impaired people who use screen readers, and motion-impaired people who use tools other than a mouse or trackpad to get around a page and a site.

CSS (Cascading Style Sheets) is a system for controlling how a page looks. You can do a bit with regular HTML (bold and italic text, white space, etc) but CSS is super powerful and flexible, and can help you make one web page that works just as well on a giant monitor or a small mobile phone.

JavaScript (often shortened to JS) is the programming language which enables web browsers to serve as fully-fledged application environments. It’s not hard to pick up a little JavaScript here and there—many people learn just enough to get a job done, and then learn more later. JavaScript can also be used for much more involved coding, sometimes with nothing to do with a web browser. On this page we’ll link to beginner and general JavaScript; see the Learn to code page to dig deeper.

Learning HTML

Learning CSS

Going Deeper with Web Design