Megaphone icon
A handheld megaphone, horn raised up and to the right, for announcements. Free to use in slides, documents, websites and apps. No sign-up, no credit needed.
Also known as bullhorn · announcement · announce · loudspeaker · loud hailer · broadcast · promote · marketing
Style LineClean outlines. The everyday choice for apps, websites and slides.
Use it in code
<i class="with with-megaphone"></i>Once per page<script src="https://cdn.jsdelivr.net/npm/@withicons/classes@latest/dist/with-loader.js" defer></script>
Make it bigger or smallerfont size, a size class or an exact size
The icon is 1em square, so it follows the text size. Three ways to make it 48 px:
Font size also grows with the text around it
<i class="with with-megaphone" style="font-size: 48px"></i>A size class with-xs, with-sm, with-lg, with-2x to with-5x: times the text size
<i class="with with-megaphone with-3x"></i>An exact size whatever the text size
<i class="with with-megaphone" style="--with-size: 48px"></i>Setting only height does not work: the width stays 1em.
import { Megaphone } from '@withicons/react'
<Megaphone size={24} />Installnpm i @withicons/react
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone size={48} />import { Megaphone } from '@withicons/vue'
<Megaphone :size="24" />Installnpm i @withicons/vue
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone :size="48" />import { Megaphone } from '@withicons/svelte'
<Megaphone size={24} />Installnpm i @withicons/svelte
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone size={48} />import { Megaphone } from '@withicons/angular'
<with-icon [icon]="Megaphone" [size]="24" />Installnpm i @withicons/angular
Make it bigger or smallerthe size input
Use the size input: a number in pixels, or any CSS length.
<with-icon [icon]="Megaphone" [size]="48" />import { Megaphone } from '@withicons/solid'
<Megaphone size={24} />Installnpm i @withicons/solid
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone size={48} /><with-icon name="megaphone"></with-icon>Once per page<script type="module" src="https://cdn.jsdelivr.net/npm/@withicons/web@latest/dist/cdn.js"></script>
Make it bigger or smallerthe size attribute
Use size: pixels, or any CSS length.
<with-icon name="megaphone" size="48"></with-icon><img src="https://cdn.jsdelivr.net/npm/@withicons/core@latest/dist/svg/line/megaphone.svg" width="24" height="24" alt="Megaphone">No installpaste it inline to recolour it
Make it bigger or smallerwidth and height
Change width and height. SVG stays sharp at any size.
<img src="https://cdn.jsdelivr.net/npm/@withicons/core@latest/dist/svg/line/megaphone.svg" width="48" height="48" alt="">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 Megaphone 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.
Megaphone in all 34 styles
Same icon, thirty-four looks, in six groups. Not sure which? Pick what you’re making.
What are you making?
Essentials
Clean icons for apps, websites and documents.
Product & brand
For SaaS sites, launches and bold brand graphics: tiles, app icons and loud shapes.
3D & glass
Depth and shine for hero sections, decks and marketing.
-
Clay
AI products, onboarding, landing pages
-
Glass
App screens, dashboards, tech launches
-
Liquid
Modern app interfaces, dashboards, hero art
-
Chrome
Music, fashion, events
-
Soft 3D
Landing pages, onboarding, app stores
-
Luxe
Hero sections, app tiles, pricing tiers
-
Skeuo
App icons, dashboards, music and photo apps
Playful
Cute, colourful and fun: for kids, social posts and games.
Artistic
Illustrated looks with character: print, editorial and themed designs.
Holidays
For festivals and seasonal campaigns: Diwali, Durga Puja, Holi, Halloween, Christmas, Lunar New Year and Valentine's.
-
Utsav
Diwali and Durga Puja greetings, Indian brands, weddings
-
Rangoli
Diwali, Durga Puja, Holi and Navratri campaigns
-
Halloween
Halloween campaigns, party invites, game events
-
Christmas
Christmas campaigns, holiday emails, gift guides
-
Lunar New Year
Lunar New Year and Chinese New Year campaigns, red-envelope promos, greetings
-
Valentine
Valentine's and Galentine's campaigns, cards, dating apps
Also known as
Other words people use for this icon. Each one finds it in the library search.
- bullhorn
- announcement
- announce
- loudspeaker
- loud hailer
- broadcast
- promote
- marketing
- campaign
- shout
- announcements
- news
- whats new
- what's new
- update
- updates
- promotion
- advertise
- advertising
- ads
- publicity
- public address
- speaker
- loud
- yell
- cheer
- attention
- alert everyone
- spread the word
- press release
- call out
- rally
- protest
- megafone
- marketing campaign
- launch
- hype
- Name in code
megaphone- Category
- Communication
- Tags
- announce, marketing, news, loud, promotion, speaker
- Animation
- Pumps out an announcement, kicks back when you shout (
pulseloop ·nudgeon hover) - Grid
- 24 × 24, scales to any size
- License
- MIT, free for commercial use
For developersCopy-paste code for HTML class, React, Vue, Svelte, Angular, Solid, Web component, SVG / CDN, Motion, AI & CLI
Pick your stack, install one package, paste the code. Name in code megaphone · component Megaphone
HTML class
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.
Paste it
<script src="https://cdn.jsdelivr.net/npm/@withicons/classes@latest/dist/with-loader.js" defer></script> <i class="with with-megaphone"></i> <!-- line --> <i class="with with-megaphone 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, with-clay, with-bento, with-suite, with-dock, with-liquid, with-chrome, with-soft3d, with-brutal, with-utsav, with-rangoli, with-halloween, with-christmas, with-lunar, with-valentine -->
Make it bigger or smallerfont size, a size class or an exact size
The icon is 1em square, so it follows the text size. Three ways to make it 48 px:
Font size also grows with the text around it
<i class="with with-megaphone" style="font-size: 48px"></i>A size class with-xs, with-sm, with-lg, with-2x to with-5x: times the text size
<i class="with with-megaphone with-3x"></i>An exact size whatever the text size
<i class="with with-megaphone" style="--with-size: 48px"></i>Setting only height does not work: the width stays 1em.
Good to know
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/megaphone.css from @withicons/classes yourself, or a whole style per file: with-line.css (all 734 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.
React
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, /plush, /clay, /bento, /suite, /dock, /liquid, /chrome, /soft3d, /brutal, /utsav, /rangoli, /halloween, /christmas, /lunar, and /valentine export the same names.
Install
npm i @withicons/reactUse it
import { Megaphone } from '@withicons/react' // line (default style) import { Megaphone as MegaphoneSolid } from '@withicons/react/solid' export function Example() { return ( <> <Megaphone size={24} /> <MegaphoneSolid size={24} color="#FF5A36" title="Megaphone" /> </> ) }
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone size={48} />Good to know
Props: size, color, strokeWidth, absoluteStrokeWidth, title, className. Deep import: @withicons/react/icons/megaphone.
Vue
Vue 3 components with the same names, props and style subpaths.
Install
npm i @withicons/vueUse it
<script setup> import { Megaphone } from '@withicons/vue' // line (default style) import { Megaphone as MegaphoneSolid } from '@withicons/vue/solid' </script> <template> <Megaphone :size="24" /> <MegaphoneSolid :size="24" title="Megaphone" /> </template>
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone :size="48" />Svelte
Svelte components for Svelte 4 and 5.
Install
npm i @withicons/svelteUse it
<script> import { Megaphone } from '@withicons/svelte' // line (default style) import { Megaphone as MegaphoneSolid } from '@withicons/svelte/solid' </script> <Megaphone size={24} /> <MegaphoneSolid size={24} title="Megaphone" />
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone size={48} />Angular
One standalone <with-icon> component; pass the tree-shaken icon data.
Install
npm i @withicons/angularUse it
import { Component } from '@angular/core' import { WithIconComponent, Megaphone } from '@withicons/angular' @Component({ selector: 'app-example', imports: [WithIconComponent], template: `<with-icon [icon]="Megaphone" [size]="24" title="Megaphone" />`, }) export class ExampleComponent { Megaphone = Megaphone }
Make it bigger or smallerthe size input
Use the size input: a number in pixels, or any CSS length.
<with-icon [icon]="Megaphone" [size]="48" />Solid
SolidJS components (SSR and hydration ready).
Install
npm i @withicons/solidUse it
import { Megaphone } from '@withicons/solid' // line (default style) import { Megaphone as MegaphoneSolid } from '@withicons/solid/solid' export const Example = () => <Megaphone size={24} />
Make it bigger or smallerthe size prop
Use the size prop: a number in pixels, or any CSS length.
<Megaphone size={48} />Web component
A dependency-free custom element for any framework or plain HTML. Use variant for the style and label for an accessible name.
Install
npm i @withicons/webUse it
<script type="module" src="https://cdn.jsdelivr.net/npm/@withicons/web@latest/dist/cdn.js"></script> <with-icon name="megaphone"></with-icon> <with-icon name="megaphone" variant="solid" size="32" label="Megaphone"></with-icon>
Make it bigger or smallerthe size attribute
Use size: pixels, or any CSS length.
<with-icon name="megaphone" size="48"></with-icon>Good to know
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="bullhorn"> renders megaphone.
SVG / CDN
Every style as a standalone 24×24 file. An <img> can’t inherit currentColor, so paste the markup inline when you need to recolour.
Paste it
<img src="https://cdn.jsdelivr.net/npm/@withicons/core@latest/dist/svg/line/megaphone.svg" width="24" height="24" alt="Megaphone"> <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="M5.35 9.89 L8.64 8.7 C11.53 7.42 13 5.43 14.54 3.21 A1 1 0 0 1 16.3 3.44 L20.11 13.9 A1 1 0 0 1 18.91 15.21 C16.3 14.5 13.89 13.93 10.86 14.8 L7.57 16 A2 2 0 0 1 5.01 14.81 L4.15 12.46 A2 2 0 0 1 5.35 9.89 Z"/><path d="M9.55 15.28 L9.62 19.38 A1.75 1.75 0 0 1 6.12 19.45 L6.06 15.94" class="wm-a"/><path d="M8.64 8.7 L10.86 14.8" class="wm-a"/></svg>
Make it bigger or smallerwidth and height
Change width and height. SVG stays sharp at any size.
<img src="https://cdn.jsdelivr.net/npm/@withicons/core@latest/dist/svg/line/megaphone.svg" width="48" height="48" alt="">Motion
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 pumps out an announcement, kicks back when you shout.
Install
npm i @withicons/motionUse it
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@withicons/motion@latest/dist/motion.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@withicons/motion@latest/dist/icons/megaphone.css"> <!-- this icon's own moves --> <!-- always moving: pulse --> <span class="wm wm-loop" data-wm="megaphone"><i class="with with-megaphone"></i></span> <!-- moves when the button is hovered or focused: nudge --> <button class="wm-trigger"><span class="wm wm-hover" data-wm="megaphone"><i class="with with-megaphone"></i></span> Megaphone</button> <!-- click to turn megaphone into bell-ring: 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="Megaphone" onclick="this.setAttribute('aria-pressed', this.getAttribute('aria-pressed') !== 'true')"> <span class="wm-swap wm-fx-fade"> <i class="with with-megaphone wm-a"></i> <i class="with with-bell-ring wm-b"></i> </span> </button>
Good to know
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 734 (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.
AI & CLI
Let your coding agent find and insert icons: the MCP server and CLI share the same search as this site.
Run it
npx -y @withicons/mcp # MCP server for Claude, Cursor, Copilot… npx withicons search "bullhorn" # finds: megaphone curl "https://withicons.com/api/search?q=bullhorn"
Questions about the Megaphone icon
Free to use, easy to recolour, and ready for your slides or your code. All questions
Is the Megaphone icon free to use?
Yes. The Megaphone 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 Megaphone 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 Megaphone 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 Megaphone icon also called?
People also search for it as “bullhorn”, “announcement”, “announce”, “loudspeaker”, “loud hailer”, “broadcast”, “promote”, “marketing”, “campaign”, or “shout”. Its name in code is megaphone.
Can I animate the Megaphone icon?
Yes. Its built-in animation pumps out an announcement, kicks back when you shout. 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 Megaphone icon in React?
Run npm i @withicons/react, then import { Megaphone } from '@withicons/react' and render <Megaphone 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, /plush, /clay, /bento, /suite, /dock, /liquid, /chrome, /soft3d, /brutal, /utsav, /rangoli, /halloween, /christmas, /lunar, or /valentine) for another style.