Open In App
Related Articles

What is GitHub README File and Markdown?

Improve Article
Save Article
Like Article

GitHub is designed for IT and Data Science professionals to exchange, collaborate, and showcase their work. You can make and share your own repositories after creating a new GitHub account. Like a computer’s file structure, a repository is arranged in a hierarchy and can contain text files, images, and program files.

What is README File?

A README file is essential for projects. The README file is the first thing prospective users or contributors see when a new repository is created, or an existing one is opened. It is prominently displayed on the repository’s homepage and acts as an introduction to the repo’s project.

Benefits of a README File

Creating a README file in GitHub has several other advantages. For starters, it makes the project more discoverable by helping in SEO (Search Engine Optimization) by providing relevant and descriptive information about your project or repository. SEO is the process of improving the visibility and ranking of your web pages on search engines like Google or Bing. By writing a README file with keywords, descriptions, features, version numbers, changelog, and more, you can increase the chances of your project or repository being found by users who are looking for similar solutions.

Second, a README file can aid in the overall quality of the venture. The project creators are forced to think more deeply about the project’s aims and how it should be used when they take the time to create clear and concise documentation. This can result in a more cohesive and well-planned undertaking.

Finally, the README file also acts as a central location for essential project-related links and resources. It could, for example, include links to the project’s documentation, issue tracker, and code of behavior. This makes it simple for users and contributors to discover essential project information in one place.

README as Your Portfolio Page


If you create a repository with the same name as your username and make it public, you can create a README file that serves as your personal page and appears when anyone sees your profile on GitHub. It will be your personal portfolio page, holding your various projects in their respective repositories.

Note: In addition to this README, you should include a README file in each project repository that utilizes your chosen project methodology as an outline.

Steps to Create a README

Creating a README on GitHub is a straightforward process. Here are the basic steps:

  1. Create a new repository – To create a new repository on GitHub, sign in to your account, navigate to the repositories page, and then select the “New” button. Give your repository a name, a description, and the option to make it public or private.
  2. Add a README file – When you create a new repository, you will be given the choice of including a README file. If you do not select this option, you can add a README later by going to the repository homepage, choosing the “Add file” button, and then selecting “Create a new file.” Name the file “” in either instance.
  3. Write the content – You can begin writing the content after you’ve made the README file. A decent README should include a project description, installation instructions, and any relevant information about how to use or contribute to the project. This relevant information can be referred to by the Sample Structure provided below.
  4. Use markdown – Markdown is a lightweight markup language that GitHub employs to format text in README files. The markdown can be used to structure your README with headers, lists, links, and other elements. The GitHub website has a helpful guide to markdown syntax.
  5. Preview and edit – As you write your README, select the “Preview” button on the right side of the page to see how your changes will look. If you need to make changes, merely return to the text editor by clicking the “Edit” button.
  6. Commit and save – When you’re finished editing your README, add a commit message and select the “Commit changes” button at the bottom of the page. Your README will now be widely displayed on the repository homepage.

Overall, creating a README on GitHub is a simple procedure that significantly impacts your project’s success.

About Markdown

Markdown uses simple and intuitive syntax to format text, making it an ideal choice for creating documents that need to be easily read and understood by others. It is widely used in blogging platforms, content management systems, and other applications where the ability to create well-formatted documents quickly and efficiently is essential. Markdown syntax consists of various elements, including headings, paragraphs, lists, links, images, and code blocks. These elements are indicated by simple characters and symbols, such as the hash (#) symbol for headings and asterisks (*) for emphasis. In addition, GitHub supports several extensions and additional features, such as task lists, tables, and code highlighting.

Here are some of the most common syntaxes of Markdown elements used in GitHub README files:

  • Headings: Headings are created using the # symbol. The number of # symbols indicates the level of the heading, with # being the largest and ###### being the smallest. For example:
# Heading 1 - BIG
## Heading 2 - MEDIUM
### Heading 3 - NORMAL
#### Heading 4 - SMALL 
  • Paragraphs: Paragraphs are created by separating lines of text with a blank line.
  • Links: Links are created using square brackets for the link text and parentheses for the URL. For example:
  • Images: Images are created using an exclamation mark, followed by square brackets for the alt text and parentheses for the image URL. For example:
![Alt text](
  • Code Highlighting: GitHub supports syntax highlighting for a wide range of programming languages, making it easy to display code in a readable and organized way. Code blocks are created using triple backticks followed by the language name. For example:
def hello_world():
    print("Hello, world!")
  • Task Lists: Task lists are created using square brackets and hyphens, with an x or a space indicating whether a task is complete or incomplete. For example:
- [x] Task 1
- [ ] Task 2

Overall, Markdown syntax in GitHub is a powerful and flexible way to format text and collaborate on software development projects. Its simplicity and versatility make it easy to use for both technical and non-technical users.

Sample Structure

The README file is the first thing someone visiting your repository will read, so it is vital to provide enough information for the reader to understand your project thoroughly. The following is a sample project README file that was created using a template:

  • Project Title – The project’s name and a brief description of the project’s primary goal and purpose.
  • Demo Link – Here, you can provide a link to a functional demo of your project so that viewers can see it live or in action.
  • Table of Contents (optional) – A table of contents can be produced based on the section titles if the project is divided into parts.
  • Aim and Objectives – This section includes your description of the project’s aims and objectives. In this part, you should explain briefly what you wanted to accomplish, why you chose this project, and any challenges you encountered while working on it.
  • Visualizations/Results Screenshots – These are basic examples of the procedure or outputs. These can be pictures of visualizations, websites, etc.
  • Technologies/Tools Used – List all of the technologies you used to finish the project to demonstrate your knowledge of these tools.
  • Setup – Instructions on how to set up or install the environment and any necessary dependencies. This section should also include instructions for readers who want to reproduce your outcomes.
  • Approach – This section describes the process and the strategies utilized in completing the project and testing the results.
  • Status – It tells about the project’s current status. In most instances, you will add information to the repository while working on the project, so the status will be “in process” at first, followed by “complete/released” later. If your project has numerous versions, you can also specify the version here.
  • Credits – A list of individuals or organizations who contributed or assisted you while working on the endeavor. You can also include websites that have inspired you. You can even solicit comments from the visitor.

You can view a sample README file of one of my project repositories given in the screenshots below.

Screenshot 1


Creating a README file is essential for any project, particularly one hosted on GitHub. You can make it simpler for users and contributors to comprehend and participate in your project by taking the time to write clear and concise documentation. It makes the task more discoverable, improves its overall quality, and acts as a hub for essential links and resources. You can make your endeavor a success by providing a clear and concise README file!

Some Examples of Good  GitHub README File

After many searches, we found some awesome README profiles:

  • Simon Willison – A self-updating README profile using GitHub actions that shows his recent blog posts and tweets.
  • Piyush Malhotra – A README profile with a GIF banner, badges, icons, skills list, projects list, and GitHub stats.
  • Abhishek Naidu – A README profile with a GIF banner, badges, icons, skills list, projects list, and GitHub stats.
  • Durgesh Samariya – A README profile with a simple introduction, badges, and a collection of awesome README templates.
  • Monica Powell – A small README profile with a GIF banner, icons, skills list, and blog posts.

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 08 Apr, 2023
Like Article
Save Article
Similar Reads