Back to icons
IconArrowsHas a state

Refresh icon

The Refresh icon is an animated React icon from ReactFrame: a 24×24 drawing with a 1.5px stroke that moves when its button or card is hovered, and switches to a “Syncing” state with the active prop. Copy it as SVG or JSX, download the .svg file, or install it with the shadcn CLI. It's free.

Also known assynchronizationreloadrestartspinnerloaderajaxupdatearrowsnavigation
16
20
24
32
48

Hover to play

Style
Animation
State

Static file: /icons/svg/refresh.svg

Install
Copied!
npx shadcn@latest add @reactframe/refresh-icon

Use it

import { useState } from "react";
import { motion } from "motion/react";
import { RefreshIcon } from "@/components/refresh-icon";

export function Example() {
  const [on, setOn] = useState(false);
  // Hovering the button plays the icon; `active` switches it to its "Syncing" state.
  return (
    <motion.button initial="rest" whileHover="hover" onClick={() => setOn(!on)}>
      <RefreshIcon size={20} active={on} />
      Refresh
    </motion.button>
  );
}

Details

Component
RefreshIcon
Category
Arrows
Canvas
24 × 24, 2px padding
Stroke
1.5 (adjustable), round caps and joins
Styles
Stroke, duotone, static, pixel
State
“Syncing” via the active prop
Dependencies
motion

More arrows icons