How to Create a Brand Logo Ticker Animation Using React and Framer Motion

In this tutorial, we will create a smooth and continuous brand logo ticker animation using React and Framer Motion. This animation will display a list of brand names scrolling horizontally across the screen.

Prerequisites

Before we begin, ensure you have the following installed:

  • Node.js and npm

  • A React application set-up (you can use Create React App for this)

  • Framer Motion library

Step 1: Install Framer Motion

First, you need to install the Framer Motion library in your React project. Run the following command in your project directory:

npm install framer-motion

Step 2: Create the Slider Component

Create a new component file named SliderTest.js And add the following code:

import React from 'react';
import { motion } from 'framer-motion';
import '../App.css';

function SliderTest() {
    const brandName = ["Google", "Facebook", "Amazon", "Microsoft", "Apple", "Netflix", "Tesla", "Twitter", "Instagram", "Linkedin"];
    const otherBrandName = ["Behance", "Dribble", "Figma", "Slack", "Spotify", "Twitch", "Whatsapp", "Zoom", "Youtube"];

    return (
        <>
            <div className='container mx-auto'>
                <div className='flex gap-3 scrollGradient'>
                    <motion.div initial={{x:0}} animate={{x:"-100%"}} transition={{duration:20, repeat:Infinity, ease:"linear", delay:0}} className='flex space-x-16 text-6xl font-semibold font-Orbitron flex-shrink-0'>
                        {brandName.map((brand, index) => (
                            <div key={index}>
                                {brand}
                            </div>
                        ))}
                    </motion.div>
                    <motion.div initial={{x:0}} animate={{x:"-100%"}} transition={{duration:20, repeat:Infinity, ease:"linear", delay:0}} className='flex space-x-16 text-6xl font-semibold font-Orbitron flex-shrink-0'>
                        {brandName.map((brand, index) => (
                            <div key={index}>
                                {brand}
                            </div>
                        ))}
                    </motion.div>
                </div>
            </div>
        </>
    );
}

export default SliderTest;

Step 3: Use the Component

Finally, import and use the SliderTest component in your main application file, typically App.js:

import React from 'react';
import SliderTest from './components/SliderTest';

function App() {
    return (
        <div className="App">
            <SliderTest />
        </div>
    );
}

export default App;

Conclusion

By following these steps, you have successfully created a brand logo ticker animation using React and Framer Motion.

You can further customize the animation duration, easing, and styles to fit your design needs. This component can be a great addition to any website looking to showcase brand partnerships or sponsors dynamically.

0
Subscribe to my newsletter

Read articles from Aditya Kumar Gupta directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Aditya Kumar Gupta
Aditya Kumar Gupta

Hi there! I'm Aditya, a passionate Full-Stack Developer driven by a love for turning concepts into captivating digital experiences. With a blend of creativity and technical expertise, I specialize in crafting user-friendly websites and applications that leave a lasting impression. Let's connect and bring your digital vision to life!