Calculator Tools Calculator Tools
Create

Morphing Tally Counter

Sep 30, 2025

About this app

A fun and engaging tally counter that morphs shapes and colors as you count up.

Morphing Tally Counter Morphing Tally Counter 0 Count Up!

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>Morphing Tally Counter</title>
<meta name="description" content="A fun and engaging tally counter that morphs shapes and colors as you count up.">
<meta name="keywords" content="tally counter, fun app, counting, morph, interactive, colorful">

<!-- 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.

let count = 0;

const morphColors = [
"#FF3939", // Red
"#FF8A1F", // Orange
"#F9EA00", // Yellow
"#6CFF1A", // Green
"#1AC9FF", // Light Blue
"#2E1AFF", // Blue
"#8021FF" // Purple
];

function updateCounter() {
count++;
$('#counter').text(count);
let colorIndex = count % morphColors.length;
$('#counter').css('color', morphColors[colorIndex]);
$('#shape').css('border-radius', `${count * 2}px`);
$('#shape').css('background-color', morphColors[colorIndex]);
}

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
$('#increment-btn').click(updateCounter);
});

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

<style>
/* App CSS Goes Here */
body {
background: linear-gradient(135deg, #EAE6E6, #F7F9F9);
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
font-family: 'Arial', sans-serif;
}
#main-container {
text-align: center;
}
#counter {
font-size: 4rem;
margin-top: 20px;
transition: color 0.5s;
}
#shape {
width: 200px;
height: 200px;
margin: 20px auto;
border: 5px solid #333;
border-radius: 0px;
transition: background-color 0.5s, border-radius 0.5s;
}
button {
padding: 10px 20px;
font-size: 1.5rem;
background: #FF6F20;
color: white;
border: none;
border-radius: 10px;
cursor: pointer;
transition: background 0.3s;
}
button:hover {
background: #FF3D00;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Morphing Tally Counter</h1>
<div id="shape"></div>
<div id="counter">0</div>
<button id="increment-btn">Count Up!</button>
</div>
</body>
</html>