Free icon · Devices · 20 styles · animated
Usb icon
The USB trident symbol for USB ports, cables and connected devices. Free to use in slides, documents, websites and apps. No sign-up, no credit needed.
Also known as usb port · usb cable · usb drive · usb stick · thumb drive · flash drive · pen drive · memory stick
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 Usb 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.
Usb 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.
- usb port
- usb cable
- usb drive
- usb stick
- thumb drive
- flash drive
- pen drive
- memory stick
- usb connection
- usb symbol
- usb c
- universal serial bus
- port
- connector
- cable
- plug in
- connect device
- connected device
- peripheral
- charging cable
- data cable
- type c
- usb type c
- usb a
- flash memory
- memory key
- jump drive
- external device
- trident
- accessory
- usb icon
- u s b
- Name in code
usb- Category
- Devices
- Tags
- devices, connector, port, cable, hardware, peripheral
- Animation
- Plugs in: slides up into the port and back (
nudgeloop ·nudgeon 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: usb · component Usb.
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 { Usb } from '@withicons/react' // line (default style)
import { Usb as UsbSolid } from '@withicons/react/solid'
export function Example() {
return (
<>
<Usb size={24} />
<UsbSolid size={24} color="#FF5A36" title="Usb" />
</>
)
}Props: size, color, strokeWidth, absoluteStrokeWidth, title, className. Deep import: @withicons/react/icons/usb.
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-usb"></i> <!-- line -->
<i class="with with-usb 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/usb.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="usb"></with-icon>
<with-icon name="usb" variant="solid" size="32" label="Usb"></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="usb-port"> renders usb.
Vue 3 components with the same names, props and style subpaths.
npm i @withicons/vue
<script setup>
import { Usb } from '@withicons/vue' // line (default style)
import { Usb as UsbSolid } from '@withicons/vue/solid'
</script>
<template>
<Usb :size="24" />
<UsbSolid :size="24" title="Usb" />
</template>Svelte components for Svelte 4 and 5.
npm i @withicons/svelte
<script>
import { Usb } from '@withicons/svelte' // line (default style)
import { Usb as UsbSolid } from '@withicons/svelte/solid'
</script>
<Usb size={24} />
<UsbSolid size={24} title="Usb" />One standalone <with-icon> component; pass the tree-shaken icon data.
npm i @withicons/angular
import { Component } from '@angular/core'
import { WithIconComponent, Usb } from '@withicons/angular'
@Component({
selector: 'app-example',
imports: [WithIconComponent],
template: `<with-icon [icon]="Usb" [size]="24" title="Usb" />`,
})
export class ExampleComponent { Usb = Usb }SolidJS components (SSR and hydration ready).
npm i @withicons/solid
import { Usb } from '@withicons/solid' // line (default style)
import { Usb as UsbSolid } from '@withicons/solid/solid'
export const Example = () => <Usb 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/usb.svg" width="24" height="24" alt="Usb">
<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 2.5 L14 5.5 H10 Z"/><path d="M12 5.5 V17.5"/><path d="M14 19.5 A2 2 0 1 1 10 19.5 A2 2 0 1 1 14 19.5 Z"/><path d="M7.5 9 A2 2 0 1 1 3.5 9 A2 2 0 1 1 7.5 9 Z M5.5 11 V12 L12 15.5" class="wm-a"/><path d="M16.5 7.5 H20.5 V11.5 H16.5 Z M18.5 11.5 V12 L12 14" 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 plugs in: slides up into the port and back.
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/usb.css"> <!-- this icon's own moves -->
<!-- always moving: nudge -->
<span class="wm wm-loop" data-wm="usb"><i class="with with-usb"></i></span>
<!-- moves when the button is hovered or focused: nudge -->
<button class="wm-trigger"><span class="wm wm-hover" data-wm="usb"><i class="with with-usb"></i></span> Usb</button>
<!-- click to turn usb into plug: 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="Usb"
onclick="this.setAttribute('aria-pressed', this.getAttribute('aria-pressed') !== 'true')">
<span class="wm-swap wm-fx-slide-up">
<i class="with with-usb wm-a"></i>
<i class="with with-plug 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 "usb port" # finds: usb
curl "https://withicons.com/api/search?q=usb%20port"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 Usb icon
Free to use, easy to recolour, and ready for your slides or your code. All questions
Is the Usb icon free to use?
Yes. The Usb 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 Usb 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 Usb 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 Usb icon also called?
People also search for it as “usb port”, “usb cable”, “usb drive”, “usb stick”, “thumb drive”, “flash drive”, “pen drive”, “memory stick”, “usb connection”, or “usb symbol”. Its name in code is usb.
Can I animate the Usb icon?
Yes. Its built-in animation plugs in: slides up into the port and back. 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 Usb icon in React?
Run npm i @withicons/react, then import { Usb } from '@withicons/react' and render <Usb 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.