Tips・New here? Start here

Where do I start? A map of the learning order

"I want to build my own website, but I have no idea where to start"—this is a map of the learning order for exactly those people. HTML, CSS, and JavaScript: learn them in this order, for these reasons, all in one article.

“I’d like to try building my own website. But I have no idea where to begin”—this article is a map to answer that hesitation. Programming has countless languages and tools, but if your goal is to build one web page with your own hands, the path is very simple.

Why this order

Imagine building a house. Without pillars and walls (the frame), you can’t pick out wallpaper (the look). With no house standing, you can’t test opening and closing the door (the movement). A web page is the same.

OrderWhat you learnIn house-building terms
Set up your computerGet your toolbox ready
HTMLRaise the pillars and walls (the frame)
CSSChoose the wallpaper and furniture (the look)
JavaScriptThe door opens, the lights turn on (the movement)

Without the frame you can’t decide the look, and without the look, movement has no meaning. That’s why this order, which looks like the long way around, is actually the shortest. Try it in reverse and you quickly hit walls: “I wrote CSS but it doesn’t apply anywhere,” or “there’s nothing for JavaScript to move in the first place.”

① Set up your computer (tens of minutes)

To write code, you need a dedicated app (an editor). Many people get stuck here, so we’ve split it out as its own first step.

SetupInstall VSCode on your computerThe very first step, starting from installing the free editor VSCode

Once setup is done, a “work folder” is created inside your computer, and your first HTML file is ready to go.

② HTML: build the frame (a few weeks)

HTML is the language that builds the content and structure of a page—headings, paragraphs, images, links, and so on. “A big heading here,” “a photo here,” “a link here”—you line up markers called tags to assemble the page’s frame.

CourseHTMLFrom the basics of tags to images, links, and forms

By the time you finish this course, you’ll have one blank but meaningful page. No color or decoration yet, but it clearly conveys “what this page is about.”

③ CSS: shape the look (a few weeks)

Once the frame is done, you use CSS to arrange color, text, spacing, and layout. The same HTML can turn into a “plain memo” or a “carefully crafted site” depending on the CSS. This is the stage where change is easiest to feel.

CourseCSSFrom color, text, and spacing to Flexbox and Grid layouts

Once you’ve learned the basics, drop by a collection of design snippets you can copy, paste, and use right away.

TipsCopy-and-paste CSS heading designsA collection of copy-paste heading designs. With live demos, so you can try them without breaking your flow

④ JavaScript: add movement (a few weeks to a month)

Once the frame and the look are in place, the last step is using JavaScript to add movement—“when you click, this happens,” “when you type, this changes.” It’s the moment a page turns from a still picture into something that responds when you touch it.

CourseJavaScriptFrom variables and rewriting text to events and conditional branching

Once you’ve finished these three courses, you’ve built one of your own pages all the way through with HTML, CSS, and JavaScript. That’s a big milestone.

The wall at each stage, and how to get over it

Even following the order, most people get stuck in the same places. Knowing about them in advance stops a wall being a wall, so here are the classic ones.

StageThe wall you’ll hitHow to get over it
SetupLosing track of where files are savedMake one work folder on the desktop and never move it
HTMLCan’t decide which tag to useHeadings, paragraphs, images and links are enough. Add more later
CSSYou wrote it and the look didn’t changeCheck for a strike-through in DevTools. Usually another rule is winning
CSSCan’t get things side by sideLearning display: flex alone solves most of it
JavaScriptThe vocabulary suddenly piles upStick to variables, functions and events. The rest can wait

Thinking “I’m the only one stuck here” breaks your spirit, but everyone gets stuck here. It isn’t a problem with the order—those places are simply the hard parts.

How long does it take?

It varies, but here’s roughly how 30 minutes a day plays out.

StageRough timeWhere you land
Setup1 dayThe editor runs and your first file opens
HTML2–3 weeksYou can build a page of text and images
CSS3–4 weeksYou decide colours, spacing and side-by-side layout yourself
JavaScript4–6 weeksYou can build a button that does something

Together that’s two to three months to reach “I can build my own page.” It doesn’t have to be daily. Going quiet for a while beats quitting—someone who does one lesson after a week off is still moving forward.

What you don’t need to learn yet

Search around and these names keep appearing, even in beginner articles. None of them are for you right now. Here’s why, so they don’t derail you.

  • jQuery—a tool once used to write JavaScript more briefly. Plain JavaScript does the same today, so there’s no reason to learn it fresh (look it up if you meet it in an older codebase)
  • Sass, Tailwind and friends—ways to write CSS more conveniently. Until you can write plain CSS, you can’t see what got more convenient
  • React, Vue and friends—tools for assembling large applications. They sit on top of JavaScript basics, so taking them out of order guarantees a stall
  • PHP, Python, servers—a different field from building how a page looks. Pick one once you know what you want to build

Add to what you can build before you add tools—that’s how you avoid the long way round.

Learn by building: projects worth picking

Alongside the courses, having one project you chose yourself makes an enormous difference to what sticks. Three, in order of difficulty.

  1. An introduction page—your name, a photo, things you like, some links. HTML and CSS alone finish it. Our courses grow exactly this one page across every course
  2. A page about a shop or a work you love—a few photos in a row, split up by headings. Ideal practice for spacing and colour
  3. A place for your work (a portfolio)—a list of links to the pages you’ve built. Good practice at laying out cards side by side, and an asset you can show people
TipsA collection of go-to sites for gathering info on web developmentWant somewhere reliable to look things up as you build? Start with these sites

After that: theme-based courses

Once you have the basics of frame, look, and movement, move on to whatever themes interest you, in any order. There are no rules about sequence.

CourseWeb animationFor those who want to dig deep into smoothly animating the parts of a pageCourseAccessibilityFor those who want to learn how to make a page easy for everyone to useCoursenpmFor those who want to know the true nature of that “npm install” that suddenly shows up in tutorials

Going further: advanced courses

Once you get this far, the HTML and CSS you’ve learned start turning into the patterns used in real work.

CourseWordPressThe CMS behind a huge share of the world’s sites. You can try it with no install requiredCourseTheme developmentBuild your own WordPress theme. The HTML and CSS you’ve learned become the patterns used in professional work

When you’re stuck, or want to take a detour

If you get stuck partway through, don’t force yourself forward—drop by these handy tips.

TipsDon't panic when an error appearsHow to read an error message when something stops workingTipsGetting started with developer toolsHow to peek at what’s happening right now with the browser’s developer tools

Summary

  1. The learning order is setup → HTML (the frame) → CSS (the look) → JavaScript (the movement)
  2. Without the earlier stage, the next stage can’t come alive—it looks like the long way, but this is the shortest
  3. Once you finish the basic three, move on to animation or accessibility as your interest guides you
  4. At 30 minutes a day, two to three months gets you to “I can build my own page”
  5. jQuery, Sass and React are not for now. Add to what you can build before you add tools

It’s fine that you can’t do anything yet. Starting from ① on this map, try moving your hands today.

FAQ

Is there an age you have to be to start programming?
No. If you can read, you're ready. From elementary schoolers to adults relearning, everyone follows the same order. What you need isn't a certain age—just a computer and the wish to "try building something."
How long does it take to get the hang of HTML, CSS, and JavaScript?
If you move forward a little each day, the basics of HTML and CSS take a few weeks, and even including the basics of JavaScript, in about one to two months you should feel that "I can build my own page myself." Don't rush—working through one lesson at a time, hands on, is the surest shortcut.
Can I study programming with just a smartphone?
You can read along on a smartphone, but practicing actually writing code needs a computer. Almost every editor (the app for writing code) is made for computers.