Calculator Tools Calculator Tools
Create

Colorful Calculator App

Aug 12, 2026

About this app

A colorful and responsive single page web app calculator that's fun to use with animations and visual effects.

Colorful Calculator App 1 2 3 + 4 5 6 - 7 8 9 * C 0 = /

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Colorful Calculator App</title>
<meta name="description" content="A colorful and responsive single page web app calculator that's fun to use with animations and visual effects.">
<meta name="keywords" content="calculator, web app, colorful, responsive, fun, simple, basic calculator">

<!-- Libraries -->
<!-- jQuery (3.6.0) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<!-- Bootstrap CSS (5.3.3) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<!-- Bootstrap JS (5.3.3) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous">
</script>
<!-- Font Awesome (6.6.0) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
document.addEventListener("DOMContentLoaded", function() {
const display = document.getElementById('display');
let currentInput = '';
let operator = null;
let previousInput = '';

function appendNumber(number) {
currentInput += number;
updateDisplay(currentInput);
}

function chooseOperation(op) {
if (currentInput === '') return;
if (previousInput !== '') {
compute();
}
operator = op;
previousInput = currentInput;
currentInput = '';
}

function compute() {
let computation;
const prev = parseFloat(previousInput);
const current = parseFloat(currentInput);
if (isNaN(prev) || isNaN(current)) return;
switch (operator) {
case '+':
computation = prev + current;
break;
case '-':
computation = prev - current;
break;
case '*':
computation = prev * current;
break;
case '/':
computation = prev / current;
break;
default:
return;
}
currentInput = computation;
operator = null;
previousInput = '';
updateDisplay(currentInput);
}

function updateDisplay(value) {
display.value = value;
}

document.querySelectorAll('.number').forEach(button => {
button.addEventListener('click', () => appendNumber(button.innerText));
});

document.querySelectorAll('.operator').forEach(button => {
button.addEventListener('click', () => chooseOperation(button.innerText));
});

document.getElementById('equals').addEventListener('click', compute);

document.getElementById('clear').addEventListener('click', () => {
currentInput = '';
previousInput = '';
operator = null;
updateDisplay('0');
});
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
/* App CSS Goes Here */
body {
background: linear-gradient(to right, #ff7e5f, #feb47b);
color: #fff;
font-family: 'Arial', sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}

#main-container {
background: rgba(0, 0, 0, 0.7);
padding: 30px;
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
width: 300px;
}

input {
width: 100%;
padding: 15px;
margin-bottom: 10px;
font-size: 2em;
text-align: right;
border-radius: 5px;
border: none;
background: #2A2A2A;
color: #fff;
}

button {
width: 60px;
height: 60px;
border: none;
border-radius: 10px;
font-size: 1.5em;
margin: 5px;
background-color: #ff5e57;
color: white;
cursor: pointer;
transition: background-color 0.2s;
}

button:hover {
background-color: #ff7b73;
}

.operator {
background-color: #57b6ff;
}

.operator:hover {
background-color: #7bbdff;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<input type="text" id="display" value="0" disabled>
<div class="d-flex flex-wrap justify-content-center">
<button class="number">1</button>
<button class="number">2</button>
<button class="number">3</button>
<button class="operator">+</button>
<button class="number">4</button>
<button class="number">5</button>
<button class="number">6</button>
<button class="operator">-</button>
<button class="number">7</button>
<button class="number">8</button>
<button class="number">9</button>
<button class="operator">*</button>
<button id="clear">C</button>
<button class="number">0</button>
<button id="equals">=</button>
<button class="operator">/</button>
</div>
</div>
</body>
</html>