Free icon · Arrows · 20 styles · animated
Move icon
Four-way arrows for dragging or repositioning an element. Free to use in slides, documents, websites and apps. No sign-up, no credit needed.
Also known as drag · reposition · pan · four arrows · arrows move · relocate · translate · move arrows
Style LineClean outlines. The everyday choice for apps, websites and slides.
On this page
Optional · live preview
Make it yours
Your choices follow you everywhere: the preview, every download, the examples and the code.
Customize
Pick a colour or a palette, set the size and line, add a little motion, or make it turn into another icon.
Download in any format
Pick what it’s for. We suggest the right file, already in your style and colours.
Ten everyday places
See it in use
Buttons, slides, lists and cards, drawn live with your choices above. Hover or tap a card to see the animation.
No setup · free
Get help using this icon
Pick what you need, add a line about what you’re making, and choose your AI assistant. We write the brief about the Move icon in the Line style, copy it, and open the assistant for you.
Use it in your favourite app
Quick steps for the tools most people use. All step-by-step guides
Google Slides
- Press Copy image above.
- Click your slide and paste with Ctrl+V (⌘+V on a Mac).
- Or drag the big preview straight onto the slide.
PowerPoint
- Press Download SVG.
- Drag the file onto your slide (or Insert → Pictures).
- Recolour it any time: Graphics Format → Graphics Fill.
Canva
- Press Download SVG.
- In Canva open Uploads → Upload files.
- Click the icon in your design to change its colour.
Figma
- Press Copy SVG code.
- Paste into your Figma canvas.
- It arrives as an editable vector, ready to resize and recolour.
Notion
- Press Copy image and paste into any page.
- For a page icon: Add icon → Upload, and pick the 256 px PNG.
Move in all 20 styles
Same icon, twenty personalities. Download whichever fits your design.
-
Line universal
Clean outlines. The everyday choice for apps, websites and slides.
-
Solid universal
Filled shapes with bold weight. Reads instantly, even tiny.
-
Duo universal
An outline over a soft tinted fill. Friendly, with a little depth.
-
Gloss creative
Puffy and glossy, like soft vinyl toys. Playful and eye-catching.
-
Engrave creative
Banknote-style engraving with fine hatching. Classic and premium.
-
Blueprint creative
A technical drawing with construction lines. Precise and nerdy.
-
Sketch creative
Loose marker strokes, like a whiteboard doodle. Warm and human.
-
Glass creative
Layers of frosted glass with soft light. Modern and airy.
-
Kawaii creative
Chubby, soft and cute, with a tiny smiling face and rosy cheeks.
-
Sticker creative
Shiny die-cut stickers with a puffy white border and sparkles.
-
Pixel creative
Crisp pixel art, like an old video game.
-
Retro creative
Chunky 70s shapes with warm sunset stripes.
-
Luxe creative
Layered 3D with gold trim, soft light and real depth. Rich and premium.
-
Bauhaus creative
Pure circles, squares and triangles in red, yellow and blue. Bold, modernist design.
-
Skeuo creative
Real materials with bevels, gloss and shadows, like an object you could touch.
-
Anime creative
Anime cel shading: bold ink outlines, bright colour, hard shadows and sparkling highlights.
-
Gothic creative
Old-world Gothic detail, like a cathedral or a castle: pointed arches, carved stone and jewel-toned stained glass.
-
Pastel creative
Soft, airy pastel colours with gentle shading. Calm, light and dreamy.
-
Coquette creative
Romantic and feminine: blush pink, satin bows, pearls and lace details.
-
Plush creative
Soft stuffed toys in felt, with stitched seams and plump shapes. Made for kids.
Also known as
Other words people use for this icon. Each one finds it in the library search.
- drag
- reposition
- pan
- four arrows
- arrows move
- relocate
- translate
- move arrows
- drag and drop
- move around
- rearrange
- shift
- all directions
- arrows
- four way
- grab
- hand tool
- nudge
- adjust position
- scroll around
- moving
- Name in code
move- Category
- Arrows
- Tags
- drag, pan, position, arrows, four-way
- Animation
- Its four heads reach outward together, ready to drag any way (
pulseloop ·popon hover) - Grid
- 24 × 24, scales to any size
- License
- MIT, free for commercial use
For developersReact, HTML class, Web component, Vue, Svelte, Angular, Solid, SVG / CDN, Motion, AI & CLI
Install one package for your stack, or use the SVG, PNG and copy buttons above. Name in code: move · component Move.
Named import, tree-shaken. The package root is the line style; /solid, /duo, /gloss, /engrave, /blueprint, /sketch, /glass, /kawaii, /sticker, /pixel, /retro, /luxe, /bauhaus, /skeuo, /anime, /gothic, /pastel, /coquette, and /plush export the same names.
npm i @withicons/react
import { Move } from '@withicons/react' // line (default style)
import { Move as MoveSolid } from '@withicons/react/solid'
export function Example() {
return (
<>
<Move size={24} />
<MoveSolid size={24} color="#FF5A36" title="Move" />
</>
)
}Props: size, color, strokeWidth, absoluteStrokeWidth, title, className. Deep import: @withicons/react/icons/move.
One small loader script, then an <i> tag. The page downloads only the icons it shows, in any mix of styles. The icon takes the current text colour and font size.
<script src="https://cdn.jsdelivr.net/npm/@withicons/classes/dist/with-loader.js" defer></script>
<i class="with with-move"></i> <!-- line -->
<i class="with with-move with-solid"></i> <!-- also with-duo, with-gloss, with-engrave, with-blueprint, with-sketch, with-glass, with-kawaii, with-sticker, with-pixel, with-retro, with-luxe, with-bauhaus, with-skeuo, with-anime, with-gothic, with-pastel, with-coquette, with-plush -->The loader is about 6 KB gzipped and links just the CSS of the icons on the page (a line icon is about 270 bytes gzipped). No JavaScript? Link with-base.css and line/move.css from @withicons/classes yourself, or a whole style per file: with-line.css (all 500 line icons, about 26 KB gzipped). with-all.css (every style, about 6.3 MB gzipped) is for prototypes only. Add role="img" and aria-label when the icon carries meaning on its own.
A dependency-free custom element for any framework or plain HTML. Use variant for the style and label for an accessible name.
npm i @withicons/web
<script type="module" src="https://cdn.jsdelivr.net/npm/@withicons/web/dist/cdn.js"></script>
<with-icon name="move"></with-icon>
<with-icon name="move" variant="solid" size="32" label="Move"></with-icon>The page downloads only what it shows: about 7 KB gzipped for the element, then one small file per icon and style. Unique aliases resolve too: <with-icon name="reposition"> renders move.
Vue 3 components with the same names, props and style subpaths.
npm i @withicons/vue
<script setup>
import { Move } from '@withicons/vue' // line (default style)
import { Move as MoveSolid } from '@withicons/vue/solid'
</script>
<template>
<Move :size="24" />
<MoveSolid :size="24" title="Move" />
</template>Svelte components for Svelte 4 and 5.
npm i @withicons/svelte
<script>
import { Move } from '@withicons/svelte' // line (default style)
import { Move as MoveSolid } from '@withicons/svelte/solid'
</script>
<Move size={24} />
<MoveSolid size={24} title="Move" />One standalone <with-icon> component; pass the tree-shaken icon data.
npm i @withicons/angular
import { Component } from '@angular/core'
import { WithIconComponent, Move } from '@withicons/angular'
@Component({
selector: 'app-example',
imports: [WithIconComponent],
template: `<with-icon [icon]="Move" [size]="24" title="Move" />`,
})
export class ExampleComponent { Move = Move }SolidJS components (SSR and hydration ready).
npm i @withicons/solid
import { Move } from '@withicons/solid' // line (default style)
import { Move as MoveSolid } from '@withicons/solid/solid'
export const Example = () => <Move size={24} />Every style as a standalone 24×24 file. An <img> can’t inherit currentColor, so paste the markup inline when you need to recolour.
<img src="https://cdn.jsdelivr.net/npm/@withicons/core/dist/svg/line/move.svg" width="24" height="24" alt="Move">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 V21"/><path d="M3 12 H21"/><path d="M9 6 L12 3 L15 6" class="wm-a"/><path d="M18 9 L21 12 L18 15" class="wm-a"/><path d="M15 18 L12 21 L9 18" class="wm-a"/><path d="M6 15 L3 12 L6 9" class="wm-a"/></svg>Optional animations, imported separately. They move the element around the icon, so they work with every style and every package. This icon’s own animation its four heads reach outward together, ready to drag any way.
npm i @withicons/motion
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@withicons/motion/dist/motion.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@withicons/motion/dist/icons/move.css"> <!-- this icon's own moves -->
<!-- always moving: pulse -->
<span class="wm wm-loop" data-wm="move"><i class="with with-move"></i></span>
<!-- moves when the button is hovered or focused: pop -->
<button class="wm-trigger"><span class="wm wm-hover" data-wm="move"><i class="with with-move"></i></span> Move</button>
<!-- click to turn move into drag-handle: the button's aria-pressed decides the icon.
Timing: --wm-swap-dur, --wm-swap-ease, --wm-swap-delay. On its own: wm-swap-auto (+ --wm-swap-hold) -->
<button class="wm-trigger" type="button" aria-pressed="false" aria-label="Move"
onclick="this.setAttribute('aria-pressed', this.getAttribute('aria-pressed') !== 'true')">
<span class="wm-swap wm-fx-fade">
<i class="with with-move wm-a"></i>
<i class="with with-drag-handle wm-b"></i>
</span>
</button>motion.css holds the presets (about 10 KB gzipped). Each icon’s own moves are a file of their own (about 0.3 KB gzipped); icons.css bundles all 500 (about 18 KB gzipped) for bundled apps. Pick another move with wm-p-<preset> (32 presets) and tune it with --wm-dur and --wm-k. JavaScript: import { motion, swap } from '@withicons/motion'. Everything stops for visitors who ask for reduced motion.
Let your coding agent find and insert icons: the MCP server and CLI share the same search as this site.
npx -y @withicons/mcp # MCP server for Claude, Cursor, Copilot…
npx withicons search "drag" # finds: move
curl "https://withicons.com/api/search?q=drag"The quickest copy for websites: one <i> tag
First time? Show setup
First time? Add this line once inside your page’s <head>
Questions about the Move icon
Free to use, easy to recolour, and ready for your slides or your code. All questions
Is the Move icon free to use?
Yes. The Move icon is free for personal and commercial work: presentations, documents, websites, apps, print and merchandise. It is released under the MIT license and you don’t need to credit anyone in your design.
How do I put the Move icon in Google Slides or PowerPoint?
On this page press Copy image, then paste it onto your slide. For PowerPoint, Keynote and Canva, Download SVG gives you a file that stays sharp at any size and can be recoloured inside the app.
Can I change the colour or size of the Move icon?
Yes. Pick a colour above before you download, choose a PNG size (64, 256 or 1024 pixels), or download the SVG, which scales to any size without getting blurry.
What is the Move icon also called?
People also search for it as “drag”, “reposition”, “pan”, “four arrows”, “arrows move”, “relocate”, “translate”, “move arrows”, “drag and drop”, or “move around”. Its name in code is move.
Can I animate the Move icon?
Yes. Its built-in animation its four heads reach outward together, ready to drag any way. Open Customize on this page, choose Always, On hover or Once, try any of the 32 moves, then download an animated SVG or copy the code. Animations come from the optional @withicons/motion package and switch off for people who ask for reduced motion.
How do I use the Move icon in React?
Run npm i @withicons/react, then import { Move } from '@withicons/react' and render <Move size={24} />. Import from @withicons/react/solid (or /duo, /gloss, /engrave, /blueprint, /sketch, /glass, /kawaii, /sticker, /pixel, /retro, /luxe, /bauhaus, /skeuo, /anime, /gothic, /pastel, /coquette, or /plush) for another style.