How To Make A Counter Using JavaScript

by | Feb 4, 2023 | Coding, JavaScript

Home » Coding » How To Make A Counter Using JavaScript

Introduction of the Project

In this tutorial, we will guide you through the process of creating a counter using JavaScript. A counter is a simple and effective way to keep track of numerical values and can be used in a variety of applications, such as keeping track of the number of clicks, counting the number of items in a shopping cart, or keeping score in a game.

With the help of JavaScript, you will be able to build a dynamic and interactive counter that can be easily customized to meet your specific needs. We will be implementing some GUI using HTML and CSS to make the project more interesting and a method that manages the increment and decrement of the number and also adds the functionality to reset the counter. So, let’s get started and learn how to make a counter using JavaScript.


  • to add functionalities to the 3 buttons, which are “+”, “-“, and “RESET” to increment, decrement, and reset the counter, respectively.
  • To understand the basics of JavaScript and how it can be used to create a counter.
  • To learn how to define variables and functions in JavaScript and use them to update the counter.
  • To understand the use of event listeners and how they can be used to trigger the counter to increment or decrement.
  • To learn how to implement basic user interface elements such as buttons, text fields, and display elements to present the counter.
  • To learn how to style the counter using CSS to create an attractive and user-friendly interface.
  • To understand the importance of testing and debugging the counter to ensure it works correctly.
  • To gain hands-on experience in creating a working JavaScript counter that can be easily modified and expanded upon.
  • To learn how to integrate the counter into a larger web application or website.

By the end of this tutorial, you will have a solid understanding of how to create a counter using JavaScript and will be able to build and customize your own counters to meet your specific needs.


  • Basic understanding of HTML and CSS.
  • Text editor to write and save HTML, CSS, and JavaScript code.
  • Web browser to preview and test the counter.
  • Active internet connection to access resources and libraries if needed.
  • Familiarity with JavaScript syntax and programming concepts.
  • Access to a computer or device with a web browser and text editor installed.

Source Code


<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<div class="container">
<div class="counter">
<p id="count">0</p>
<div class="buttons">
<button id="sub" onclick="subs()">-</button>
<button id="reset" onclick="reset()">Reset</button>
<button id="add" onclick="add()">+</button>
<script src="counter.js"></script>

CSS Code

body {
background-color: #eee;
.container {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
.counter {
background-color: #fff;
padding: 2.5rem;
border-radius: 1rem;
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
.counter p {
text-align: center;
font-size: 8rem;
font-weight: 300;
line-height: 1;
.counter .buttons {
text-align: center;
margin-top: 2rem;
.counter .buttons button {
font-size: 1.5rem;
padding: 0.5rem 1rem;
margin: 0.5rem;
cursor: pointer;
.counter .buttons button#sub {
background-color: orangered;
color: #fff;
.counter .buttons button#add {
background-color: green;
color: #fff;


let num = 0;
function add(){
document.getElementById("count").innerHTML = num;
function subs(){
document.getElementById("count").innerHTML = num;
function reset(){
document.getElementById("count").innerHTML = 0;

Explanation of the Code

We have broken the code into 3 sections. HTML to create the GUI and CSS to style it, and then Javascript is implemented to keep track of the counter is increased and decreased.

1. It consists of 3 buttons and a <p> to display the counter.

2. The CSS file is meant for styling the HTML, whether the container is provided with appropriate margins, padding, font color, and font size.

Moving to the managing counter process, we will apply the following:

1. It has a variable that initially stores 0 as the value of the counter.

2. The ‘+’ button has the functionality to increase the value of the counter by 1 and store it in the same variable.

3. The ‘-’ button has the functionality to decrease the value of the counter by 1 and store it in the same variable.

4. The ‘RESET’ button has the functionality to store 0 in the same variable.

5. Finally, these buttons also change the HTML simultaneously as the value changes of that variable.


Main Interface

How To Make A Counter Using JavaScript

Points To Remember

We have successfully built a counter using JavaScript. It provides 3 buttons to decrease, reset & increase the counter, respectively. It displays the change in the value simultaneously. You can further improve your project by following the points below.

  • Testing and Debugging: Test the counter thoroughly to identify and resolve any errors or issues that may arise.
  • User Experience: Consider the user experience and make sure the counter is easy to use and understand.
  • Customization: Customize the counter to meet specific needs by adding additional features or changing the design.
  • Integration: Integrate the counter into a larger web application or website if needed.


More JavaScript Projects>>>

You May Also Like To Create…