Open In App

Design a Tip Calculator using HTML, CSS and JavaScript

Last Updated : 18 Apr, 2025
Comments
Improve
Suggest changes
35 Likes
Like
Report

The tip is the money given as a gift for good service, to the person who serves you in a restaurant. In this project, a simple tip calculator is made which takes the billing amount, type of service, and the number of persons as input. As per the three inputs, it generates a tip for the serving person. In this article, we are going to learn how to design a Tip Calculator using HTML, CSS, and JavaScript.

Prerequisites:

Approach

  • Use HTML to give proper structure to your project.
  • Use CSS for styling
  • In JavaScript,
    • The script is triggered when the window is fully loaded, binding the calculateTip function to the “Calculate” button’s click event.
    • The calculateTip function retrieves input values for amount, number of persons, and service type from corresponding HTML elements.
    • Input validation checks if the amount is empty and the service type is set to ‘Select’. If so, an alert is displayed, and further execution is halted.
    • Display logic adjusts the visibility of the ‘each’ element based on the number of persons: hidden if there is one person and visible otherwise.
    • Tip calculation involves multiplying the amount, and service type, and dividing by the number of persons. The result is displayed with proper formatting on the webpage.

Example: In this example, we are following the above approach.

HTML
<html>

<head>
    <link rel="stylesheet" href="style.css">
    <script type="text/javascript" src="app.js">
    </script>
</head>

<body>
    <div class="container">
        <h1>TIP CALCULATOR</h1>
        <div class="wrapper">

            <p>Bill Amount</p>
            <input type="text" id="amount" placeholder="Amount to be paid"><p>How was the service ?</p>
            <select id="services">
                <option selected disabled hidden>
                    Select
                </option>
                <option value="0.25">25% - Top Notch</option>
                <option value="0.20">20% - Excellent</option>
                <option value="0.15">15% - Good</option>
                <option value="0.10">10% - Bad</option>
                <option value="0.05">5% - Worst</option>
            </select>
            <p>Total number of persons</p>
            <input type="text" id="persons" placeholder="Number of people sharing the bill">
            <button id="calculate">Calculate</button>
        </div>

        <div class="tip">
            <p>Tip Amount</p>
            <span id="total">0</span><span id="each">each</span>
        </div>
    </div>
</body>

</html>
CSS JavaScript

Output

Design a Tip Calculator using HTML, CSS and JavaScript

Design a Tip Calculator using HTML, CSS and JavaScript



Next Article

Similar Reads