Robert Johns | 01 Aug, 2024
Fact checked by Jim Markus

How To Create A HTML Personal Bio Page for Beginners

Want to know how to build a HTML personal bio page? In this tutorial, I’ll walk you through this fun and practical HTML project step-by-step.

Whether you're just starting your HTML journey or looking to sharpen your skills, creating a personal bio page is an excellent project to learn real-world web development skills.

In this HTML tutorial, you'll:

  • Structure your personal bio page with semantic HTML to ensure clear, accessible content.
  • Use CSS to style your page, focusing on layout, typography, and color to make a visually engaging online presence.
  • Apply responsive design principles to make sure your page looks great on any device, from desktops to mobile phones.
  • Implement modern web design techniques like Flexbox and CSS Grid to enhance the layout and user experience.
  • Add personal touches and professional details to make your bio stand out to potential employers or clients.

Through this tutorial, you'll not only develop a fully functional personal bio page but also gain valuable insights into the fundamentals of web design and CSS styling.

To make the most of this tutorial, having basic knowledge of HTML and CSS is beneficial. 

But you don't need to be a web development expert to follow along. I've designed this guide to be beginner-friendly, with clear explanations and practical examples.

I’ve also provided the full source code for this HTML project so you can follow along, experiment, and even build upon it for your own projects. Plus, there's an HTML tester console below so you can try everything right here.

How To Create A HTML Personal Bio Page

Ready to start your web development journey with a hands-on HTML project

Today, we're going to build a HTML personal bio page, which is perfect for beginners in web design. 

This project will demonstrate how to use HTML to structure personalized web content effectively.

We'll cover the basics of HTML for structuring your page and introduce CSS to enhance its visual appeal. Check out the image below for a preview of what you’ll build!

Create your own HTML personal bio page

Wondering if it's challenging? Not at all! 

I’ve designed this HTML project to be beginner-friendly, dividing it into easy-to-follow steps. 

Whether you're new to web development or familiar with HTML and CSS, this project is great for skill enhancement.

You can do all of this using our online HTML compiler, so you won’t need to fire up an IDE or text editor to follow along with me as we build this personal bio page.

By the end, you’ll have a functional page for your portfolio and a solid understanding of HTML and CSS basics.

Project Prerequisites

Before starting, ensure you’re comfortable with basic HTML syntax and CSS. I will cover everything else you need. 

Plus, if you need to brush up on any of these areas, you can always check out a web development course

I should also mention that it’s important to be willing to experiment and learn from mistakes. Maybe that sounds obvious, but trust me, this is one of the best ways to learn.

Plus, if you get stuck, you can even consider using an AI coding assistant like GitHub Copilot to help out, but I’d recommend waiting until you’re 100% stuck, as this is where you really learn.

Remember, we're also here to help, so don’t hesitate to search hackr.io for help as you go along.

Step 1: Setting Up The Project

Let's kick things off by preparing your environment to develop the HTML personal bio page. 

If you want to dive straight in, I'd recommend following along with me using our online HTML compiler

This is pre-populated with the HTML and CSS files you need to build this HTML project without switching on an IDE.

Alternatively, I've outlined the steps for you to create the necessary files and organize your workspace on your own computer. 

Just follow these, and you'll have a solid foundation for your project.

i. Choose an IDE or Editor

Before you start, choose an IDE or editor tailored for web development. If you’ve read my article on the best web development IDEs, you’ll see I favor Visual Studio Code (VSCode). 

This is excellent for HTML and CSS and a solid choice if you’d prefer to build on your own machine.

ii. Install Necessary Plugins

If you choose VSCode, consider installing VSCode extensions like "Live Server" to preview your HTML pages in real time and "Prettier" for code formatting. 

These tools will make your development process smoother and more efficient.

iii. Create a New HTML Project

Once your editor is set up, it's time to create a new project:

- Open your editor and select the option to create a new project or folder.

- Name your project folder something descriptive, like "PersonalBioPage."

- Inside this folder, create two files: index.html for your HTML content and styles.css for your CSS styles.

iv. Set Up a Basic HTML Structure

Open your index.html file and set up a basic HTML structure. Here’s a simple template to get you started:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Personal Bio Page</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header>
      <!-- We'll add header content here -->
  </header>
  <main>
      <!-- Main bio content will go here -->
  </main>
  <footer>
      <!-- Footer content goes here -->
  </footer>
</body>
</html>

Try it with this HTML editor:

Try It Yourself »

This is the basic structure every HTML project and page starts with. 

We've got our DOCTYPE, HTML tag, head section (with meta tags, title, and link to our CSS file), and the body where our content will go.

v. Prepare for CSS Styling

Make sure your styles.css is linked correctly in your HTML file to start adding styles in the next steps.

vi. Verify Project Setup

To ensure everything is set up correctly, try opening your index.html with the Live Server plugin or directly in your browser. 

You should see a blank page with the basic document structure ready to be filled with content.

And there you have it! You’ve successfully set up your environment for creating a personal bio page. 

Let’s jump into Step 2, where we’ll create the HTML structure for your bio.

Step 2: Creating the HTML Structure

With your development environment set up, it’s time to construct the HTML skeleton of your personal bio page. 

i. Create the Header Section

The header is the first thing visitors see. 

It should include your name, a professional photo, and a brief tagline or your current professional role. Here’s how you might structure it:

<header>
  <img src="your-photo.jpg" alt="Your Name">
  <h1>Your Name</h1>
  <p>Tagline or Professional Role</p>
</header>

Try It Yourself »

Replace "your-photo.jpg" with the actual path to your image. Make sure the image is professional and suits the page’s style.

ii. Add the About Section

This section should provide a brief introduction about yourself. 

Include things like your professional background, achievements, or a short personal story. 

Structure it like this:

<section id="about">
  <h2>About Me</h2>
  <p>Write a brief paragraph or two about your professional background, what you do, and any personal details you wish to share.</p>
</section>

Try It Yourself »

iii. Include a Skills Section

Highlight the professional skills or tools you’re proficient with. Consider using a list for clarity:

<section id="skills">
  <h2>Skills</h2>
  <ul>
      <li>Skill 1</li>
      <li>Skill 2</li>
      <li>Skill 3</li>
      <!-- Add more skills as needed -->
  </ul>
</section>

Try It Yourself »

iv. Detail Your Experience

A well-laid-out experience section can really make your bio stand out. Include past positions, key responsibilities, and significant accomplishments:

<section id="experience">
  <h2>Professional Experience</h2>
  <article>
      <h3>Job Title at Company Name</h3>
      <p>Job Duration - e.g., June 2019 - Present</p>
      <ul>
          <li>Key responsibility or achievement 1</li>
          <li>Key responsibility or achievement 2</li>
          <!-- Add more as necessary -->
      </ul>
  </article>
  <!-- Repeat for other positions -->
</section>

Try It Yourself »

v. Add a Contact Section

Make it easy for people to reach out to you. Include your professional email address, LinkedIn profile, or other contact methods:

<footer>
  <h2>Contact Me</h2>
  <p>Email: <a href="mailto:your.email@example.com">your.email@example.com</a></p>
  <p>LinkedIn: <a href="your-linkedin-link" target="_blank">your-linkedin-profile</a></p>
</footer>

Try It Yourself »

Ensure all links are correct and test them to make sure they work.

vi. Structuring for Responsiveness

While adding content, keep in mind how your page will look on different devices. Use semantic HTML and prepare to apply CSS styles that will make the page responsive.

Here’s a summary of what we've accomplished in this step, highlighting the specific HTML skills you've utilized:

  • Structured the Page Content: We created distinct sections, such as the header, about, skills, experience, and contact sections. This uses semantic HTML, which not only helps with SEO but also makes your site more accessible.
  • Utilized Semantic HTML Tags: For each section, we employed semantic tags (<header>, <section>, <article>, <footer>), enhancing the meaning and readability of your HTML structure. These provide better structure compared to non-semantic tags like <div>, making it easier for search engines and accessibility tools to navigate.
  • Embedded Multimedia and Links: We added an image to your header with <img> and provided links in your contact section using <a>. This is fundamental in HTML for incorporating multimedia elements and hyperlinks.
  • Organized Content with Lists and Headings: Skills and professional experiences were listed using <ul> and <li> to clearly display lists of items. We used headings (<h1>, <h2>, <h3>) to structure the content hierarchically, improving both the aesthetics and organization of the information.
  • Prepared the Document for Styling and Interactivity: By assigning id attributes to sections and other elements, we've prepared the groundwork for future CSS styling and JavaScript interaction.

With the HTML structure in place, you now have a solid framework for your personal bio page.

Let’s move on to Step 3 to style your page.

Step 3: Styling with CSS

Now you have a solid HTML structure for your personal bio page, it’s time to enhance its visual appeal with CSS. 

This will transform your page from a basic text layout into a professionally styled profile.

i. Set Up Your CSS File

Make sure your CSS file (styles.css) is linked correctly in your HTML document, which we did in Step 1. 

This ensures that any styles you add will directly affect your HTML elements.

ii. Style the Header

The header is your first impression. Make it stand out by adding background colors, adjusting the text alignment, and customizing fonts:

header {
  background-color: #f8f9fa;
  text-align: center;
  padding: 20px;
}

header img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  margin: 10px;
}

header h1 {
  font-size: 24px;
  color: #333;
}

header p {
  font-size: 18px;
  color: #555;
}

Try It Yourself »

iii. Style the About Section

Make the about section easy to read with ample spacing and a clear font:

#about {
  padding: 20px;
  line-height: 1.6;
  font-size: 18px;
}

#about h2 {
  color: #222;
  margin-bottom: 10px;
}

Try It Yourself »

vi. Enhance the Skills Section

For the skills list, consider adding a grid layout or icons next to each skill to make it visually engaging:

#skills {
  background-color: #eee;
  padding: 20px;
}

#skills ul {
  list-style-type: none;
  padding: 0;
}

#skills li {
  padding: 5px;
  margin: 5px;
  display: inline-block;
}

Try It Yourself »

v. Professionalize the Experience Section

Align your experiences in a neat, readable format. Use borders or shading to distinguish each job role:

#experience article {
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

#experience h3, #experience p {
  margin: 5px 0;
}

Try It Yourself »

vi. Style the Contact Section

Ensure the contact section is clear and accessible, with link styles that are easy to identify:

footer {
  background-color: #f0f0f0;
  text-align: center;
  padding: 20px;
}

footer a {
  color: #007bff;
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

Try It Yourself »

In this step, you've employed several key CSS techniques to enhance the aesthetics and usability of your personal bio page:

  • CSS Selectors and Properties: You've used a variety of selectors (element, id, class) and properties to precisely target and style HTML elements.
  • Layout Techniques: Application of CSS for layout adjustments like padding, margins, text alignment, and the grid display method for organizing content visually.
  • Responsive Design Elements: While we haven’t fully implemented responsiveness, the structure set here provides a solid basis for introducing media queries in the future, ensuring the site looks good on any device.
  • Visual Enhancements: Introduction of stylistic features like background colors, font sizes, and hover effects to make the website more interactive and visually appealing.

You've now transformed a basic HTML document into a styled and professional-looking personal bio page. 

Next, we can review and debug our HTML project.

Step 4: Review and Debug

Having designed and styled your personal bio page, it’s time to review and debug your work to ensure it looks great and functions correctly across different browsers and devices.

 

i. Check Consistency Across Browsers

Ensure your page displays consistently across different web browsers like Google Chrome, Firefox, Safari, and Edge. 

Look for styling discrepancies and make adjustments as needed. Tools like BrowserStack can be helpful for this testing.

ii. Validate Your HTML and CSS

Use validators to check if there are any errors or warnings in your HTML and CSS code:

  • HTML Validator: Use the W3C Markup Validation Service to check for HTML syntax errors.
  • CSS Validator: Use the W3C CSS Validation Service to ensure your CSS is error-free.

iii. Test Responsiveness

Adjust your browser window size to simulate different screen sizes or use your browser’s developer tools to test various device resolutions. 

Make sure your layout adjusts and looks good on mobile, tablet, and desktop views. Adjust your CSS using media queries if necessary to improve responsiveness.

vi. Improve Accessibility

Ensure your page is accessible to all users, including those with disabilities:

  • Check color contrast ratios.
  • Ensure that all interactive elements are keyboard accessible.
  • Use semantic HTML to aid screen readers.
  • Include alt text for images.

v. Optimize Loading Times

Optimize your page for faster loading times:

  • Compress any images used without losing quality.
  • Minify your CSS file to reduce its size.
  • Check that your hosting solution loads your page quickly enough.

vi. Gather Feedback

Sometimes, it helps to get a fresh set of eyes on your project:

  • Ask friends or colleagues to review your page.
  • Gather feedback on the design, content, and functionality.
  • Make adjustments based on the feedback to enhance user experience.

With your page polished and debugged, it's ready for the world to see. 

The next step would be to consider how and where to publish it, so let’s take a look at that!

Step 5: Publishing Your Page

Now your personal bio page is designed, styled, and debugged, it’s time to share it with the world. 

This final step will guide you through the process of publishing your page online.

i. Choose a Hosting Service

To make your bio page accessible on the internet, you need to host it on a web server. 

Here are a few popular, user-friendly options that offer free plans:

  • GitHub Pages: Ideal for hosting simple, static websites. Plus, it integrates directly with your GitHub repository, making updates easy.
  • Netlify: Offers a straightforward drag-and-drop interface for deploying your site and automatic HTTPS.
  • Vercel: Similar to Netlify, it provides easy deployment options and is great for static sites.

ii. Prepare Your Files for Deployment

Before uploading your files, ensure everything is named correctly and organized:

  • Your main HTML file should be named `index.html`.
  • Ensure all links to CSS files and images are relative and correctly referenced so they work on the web server.

iii. Upload Your Files

Depending on your chosen hosting service, the process will vary:

  • GitHub Pages: Push your project to a GitHub repository, then enable GitHub Pages in the repository settings.
  • Netlify/Vercel: Drag and drop your project folder onto their web interface or connect your GitHub account for continuous deployment.

iv. Set Up a Custom Domain (Optional)

If you have a custom domain, you can link it to your hosting provider to give your bio page a more professional look:

v. Test Your Live Site

Once your site is live, perform a final test:

  • Visit the URL provided by your hosting service.
  • Check all pages and links to ensure everything loads and functions as expected.
  • Test on different devices and browsers to confirm compatibility.

vi. Update and Maintain

Remember, publishing your site is not the end of the road. 

Keep your content updated and continue improving the site based on user feedback and analytics.

Next Steps & Further Learning

Congratulations on successfully building and publishing your own personal bio page! 

While you've reached a significant milestone, there's still plenty to explore in web development. 

First up, I’d highly encourage you to play around with the code I have provided, especially the styling. 

There is so much more you can do here, and it’s an excellent way to express your personality.

Beyond that, here are a few ideas to keep enhancing your skills:

Expand Your HTML and CSS Knowledge

  • Advanced CSS: Learn about animations, transitions, and more complex layout designs with Flexbox and Grid.
  • Responsive Design: Dive deeper into making your website look great on all devices by mastering media queries and responsive design principles.

Explore Additional Web Technologies

  • JavaScript: Adding basic JavaScript can make your bio page more interactive. Consider implementing features like a light/dark mode toggle or interactive tabs for different sections of your resume. You can even use our online JavaScript compiler to do this.
  • SEO Basics: Learn the fundamentals of Search Engine Optimization to increase the visibility of your web page.

Engage with the Community

  • Feedback: Share your page on forums and with peers to get feedback and suggestions for improvement.
  • Open Source: Consider contributing to open-source projects where HTML and CSS skills are needed. This can provide real-world experience and community engagement.

Keep Learning and Sharing

  • Document Your Journey: Blog about the process of building your bio page, what you learned, the challenges you faced, and how you solved them.
  • Stay Updated: Follow web development blogs, join webinars, and participate in online communities to keep up with the latest trends and best practices.

And if you're hungry for more HTML projects, check out the rest of our step-by-step tutorials, including how to build a HTML recipe page.

Personal Bio Page: Full Source Code Example

HTML Source Code:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Alex Carter's Bio</title>
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header>
      <img src="alex-carter.jpg" alt="Alex Carter">
      <!-- <a href="https://www.freepik.com/free-photo/young-male-posing-isolated-against-blank-studio-wall_10110817.htm#query=male%20headshot&position=1&from_view=keyword&track=ais&uuid=43edf3b5-1fff-4353-a9d7-bbe75f59e87b">Image by wayhomestudio</a> on Freepik -->
      <h1>Alex Carter</h1>
      <p>Junior Web Developer</p>
  </header>
  <section id="about">
      <h2>About Me</h2>
      <p>I recently graduated from MIT with a degree in Computer Science, specializing in web development. I am passionate about building responsive and user-friendly websites and applications. My academic and project experiences have equipped me with a solid foundation in both front-end and back-end technologies.</p>
  </section>
  <section id="skills">
      <h2>Skills</h2>
      <ul>
          <li>HTML</li>
          <li>CSS</li>
          <li>JavaScript</li>
          <li>React</li>
          <li>Node.js</li>
      </ul>
  </section>
  <section id="experience">
      <h2>Professional Experience</h2>
      <article>
          <h3>Intern Web Developer at WebGen Solutions</h3>
          <p>May 2022 - August 2022</p>
          <ul>
              <li>Developed and maintained code for in-house and client websites primarily using HTML, CSS, and JavaScript.</li>
              <li>Optimized existing functionalities for better scalability and performance.</li>
          </ul>
      </article>
      <article>
          <h3>Freelance Web Developer</h3>
          <p>September 2022 - Present</p>
          <ul>
              <li>Designed and developed user-friendly websites for local businesses, enhancing their online presence and accessibility.</li>
              <li>Implemented responsive web design to ensure optimal viewing across multiple devices, including smartphones and tablets.</li>
          </ul>
      </article>
  </section>
  <footer>
      <h2>Contact Me</h2>
      <p>Email: <a href="mailto:alex.carter.dev@example.com">alex.carter.dev@example.com</a></p>
      <p>LinkedIn: <a href="https://www.linkedin.com/in/alex-carter-dev" target="_blank">alex-carter-dev</a></p>
  </footer>
</body>
</html>

Try It Yourself »

CSS Source Code:

body {
  font-family: 'Roboto', sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #f4f4f4;
}

header {
  background-color: #e0f0ff;
  text-align: center;
  padding: 20px;
}

header img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
}

header h1 {
  margin: 10px 0;
  color: #333;
}

header p {
  color: #555;
  font-size: 18px;
}

section {
  background-color: #ffffff;
  padding: 20px;
  margin: 20px;
  border-radius: 8px;
}

#skills ul {
  list-style-type: none;
  padding: 0;
}

#skills li {
  background-color: #e0f7ff;
  padding: 8px;
  margin: 5px;
  display: inline-block;
  border-radius: 4px;
}

footer {
  background-color: #ddefff;
  text-align: center;
  padding: 20px;
  font-size: 16px;
}

footer a {
  color: #0066cc;
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

Try It Yourself »

Wrapping Up

Building a HTML personal bio page is a fantastic way to boost your web development skills and delve into creating visually appealing and functional websites.

By creating this personal bio page, you've tackled a variety of challenges, including crafting a user-friendly layout, handling styling with CSS, and ensuring your content is responsive and accessible across different devices.

In this tutorial, you’ve learned how to:

  • Structure your content with HTML to create a clear, logical, and accessible web page.
  • Use CSS to enhance the visual appeal of your page, applying styles that bring your content to life.
  • Implement responsive design techniques to ensure your bio page looks great on both desktops and mobile devices.
  • Utilize advanced CSS features like Flexbox and Grid for sophisticated layout designs.
  • Prioritize web accessibility, making your site usable for everyone.

You now possess the foundational tools and knowledge needed to further develop and refine your personal bio page.

Potential enhancements could include adding interactive elements with JavaScript, integrating with social media platforms, or incorporating a blog section to share your professional insights and experiences.

Your journey into the world of web development doesn't end here. With these new skills, you're well-equipped to tackle more complex projects, explore different aspects of web design and development, and continue building a diverse range of engaging web experiences.

Have fun and happy coding!

Want to sharpen up your HTML and web development skills? Check out:

Dr. Angela Yu's Complete Web Development Bootcamp

 

By Robert Johns

Technical Editor for Hackr.io | 15+ Years in Python, Java, SQL, C++, C#, JavaScript, Ruby, PHP, .NET, MATLAB, HTML & CSS, and more... 10+ Years in Networking, Cloud, APIs, Linux | 5+ Years in Data Science | 2x PhDs in Structural & Blast Engineering

View all post by the author

Subscribe to our Newsletter for Articles, News, & Jobs.

I accept the Terms and Conditions.

Disclosure: Hackr.io is supported by its audience. When you purchase through links on our site, we may earn an affiliate commission.

In this article

Learn More

Please login to leave comments