Learn How to Create a “Scroll Back to Top” Button with CSS

In the fast-paced world of web development, user experience is a top priority. One of the essential features that enhance user experience is the “scroll back to top” button. This nifty element allows users to effortlessly return to the top of a web page, eliminating the need to manually scroll. In this guide, we’ll walk you through the steps of creating a “scroll back to top” button using CSS, complete with detailed explanations and code snippet examples.


Navigating lengthy web pages can be tedious for users, especially on mobile devices. A “scroll back to top” button provides a convenient solution by allowing users to instantly return to the page’s beginning.

Why Use a Scroll Back to Top Button?

Before diving into the technical aspects, let’s understand the benefits of incorporating a “scroll back to top” button on your website:

  • Enhanced User Experience: Users appreciate the convenience of quickly returning to the top of a page.
  • Time-Saving: It eliminates the need to manually scroll, saving time and effort.
  • User-Friendly: Especially on lengthy pages, the button adds to the overall user-friendliness of your website.

HTML Structure

To get started, create the HTML structure for your button. Place the following code just before the closing </body> tag:

<div class="scroll-button" id="scrollButton"></div>

Styling the Button with CSS

Now let’s style the button using CSS. The button’s appearance can be customized according to your website’s design:

.scroll-button {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #3498db;
    color: white;
    border-radius: 50%;
    padding: 10px;
    font-size: 16px;
    cursor: pointer;

Adding Smooth Scroll Behavior

To ensure a seamless scrolling experience, add a smooth scroll behavior to the button. This can be done using CSS:

html {
    scroll-behavior: smooth;

Making the Button Visible with JavaScript (Optional)

If you want the button to appear as the user starts scrolling down, you can use JavaScript to toggle its visibility:

window.onscroll = function() {
    if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
        document.getElementById("scrollButton").style.display = "block";
    } else {
        document.getElementById("scrollButton").style.display = "none";

Testing and Optimization

After implementing the button, thoroughly test its functionality on different devices and browsers. Ensure that it works as intended and does not hinder the user experience. Optimize the button’s position and design based on user feedback.


Incorporating a “scroll back to top” button is a small yet impactful way to enhance user experience on your website. By following the steps outlined in this guide, you can seamlessly implement this feature using CSS and JavaScript. Keep in mind the importance of user-friendliness and smooth functionality for a positive impact.


Is JavaScript necessary for creating a scroll back to top button?

While you can create the button using only CSS, JavaScript adds interactivity and allows for dynamic visibility.

Can I customize the button’s appearance to match my website’s design?

Absolutely! The provided CSS is just a starting point. Feel free to modify the styles to fit your website’s aesthetics.

Does smooth scroll work on all browsers?

Smooth scroll behavior is supported in most modern browsers, including Chrome, Firefox, Safari, and Edge.

Can I use an icon instead of text for the button?

Yes, you can replace the text inside the button with an icon or any other visual element.

Is it important to test the button on mobile devices?

Yes, testing on various devices ensures a consistent experience for all users, regardless of the platform they’re using.

Leave a Comment