Unhappy
The unhappy icon represents a negative emotional state.
Exports at 24 × 24 px
Code
Unhappy in your framework
In any framework. Customize it above, and the code follows.
export const UnhappyIcon = (props: React.SVGProps<SVGSVGElement>) => (
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" {...props}>
<g fill="none"><path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2s10 4.477 10 10"/><path stroke="currentColor" strokeLinecap="square" strokeWidth="2" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2s10 4.477 10 10Z"/><path stroke="currentColor" strokeLinecap="square" strokeWidth="2" d="M16 9v2m-7.465 5A4 4 0 0 1 12 14c1.48 0 2.773.804 3.465 2M8 9v2"/></g>
</svg>
);Other libraries
Unhappy in 1 more libraries
Each library draws it its own way. Open one to compare.
TDesign Icons
More like it
Icons that share its tags, in the same style.
Search TDesign Icons
Skip the copy and paste. With Pro, your AI agent finds and installs any TDesign Icons icon from a prompt.
Get ProTags
Browse by tag
Unhappy is tagged interface, social, emotion and 2 more. Related tags follow; each opens its icons from every library.
Pricing
TDesign Icons MCP, with Pro
Ask for Unhappy or any of 2,138 TDesign Icons icons and your agent installs it. The MCP comes with every Pro plan, with 6,000+ blocks and 14 premium templates. The icons stay free.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
FAQ
Frequently asked questions
What the Unhappy icon means and where it's used, then how to install, style, label and license it.
The unhappy icon represents a negative emotional state. This icon signifies a lack of satisfaction or happiness. Its design emphasizes a sense of discontent or displeasure.
In software and platforms focused on user experience or feedback, this icon might appear on websites or apps dedicated to customer reviews, feedback forms, or sentiment analysis. For example, it could be used on a platform to indicate a user's negative sentiment or on an app to track customer satisfaction.
From a UX perspective, this icon communicates a sense of discontent. It signals to users that a particular feature or action is related to expressing or tracking negative emotions, encouraging them to engage with the platform's capabilities.
Unhappy is one of 2,138 icons in TDesign Icons, made by TDesign and released under MIT. It is drawn on a 24 × 24 grid with a 2 stroke.
Sign in (it's free), then open Get icon, Install with shadcn CLI, and pick your package manager to copy the command. It adds UnhappyIcon to components/icons/tdesign-unhappy.tsx: one file, a size prop (24 by default) and every SVG prop, with no icon package.
Copy it as React (from Get icon, or the Code section): a typed UnhappyIcon component you paste into your project, with no package to install. Only the icons you import reach your bundle. It works in Next.js and any React app.
Open Get icon, then Copy as code, and pick Vue, Svelte, Angular, Solid or Preact; the Code section shows each one too. Every version is one self-contained component with the SVG inside, and SVG and data URL copies are there for plain HTML and CSS.
With Pro, the shadcn.io MCP server lets Claude Code, Cursor or any MCP client find the Unhappy icon, or any of 2,138 TDesign Icons icons, and install it from a prompt.
It's drawn in currentColor, so it takes the text color wherever you use it: a class like text-primary recolors it. To bake a color in, set one in Customize before you copy.
Set width and height on the component, or a class like size-6. It's drawn on a 24 × 24 grid, so it stays sharp at any size. Customize also sets the size it exports at, its padding and rotation, and its stroke.
Unhappy is a line icon drawn with a stroke width of 2. Change it in Customize before you copy, or pass strokeWidth to the installed component when all of its strokes share one width.
Yes. It follows the text color, so with text-foreground (or any theme token) it changes with your light and dark themes. The icon is a vector, so it needs no separate dark asset.
Next to a visible label it's decoration: add aria-hidden="true" so screen readers skip it. Standing alone, as in an icon button, give the button a name instead, like aria-label="Unhappy", so screen readers say what it does.
Yes. UnhappyIcon passes every SVG prop to the svg element, so <UnhappyIcon aria-hidden="true" /> works, and so do role="img" with aria-label, or a title child, when it carries meaning on its own.
Yes. Open Get icon, then Download file: SVG for code or design tools like Figma; PNG, WebP or JPEG at 512px; or an ICO favicon with 16, 32 and 48px inside. Each one uses what you set in Customize.
Yes. MIT allows commercial use; keep the license notice when you ship the icons' source files. The full terms are in the license, linked on this page.
No visible credit is required: MIT only asks that you keep the license notice if you ship the icons' source files. Icons installed with the shadcn CLI already start with a comment naming TDesign Icons, TDesign and the license.
Yes. Copying and downloading it is free, and the shadcn CLI install only needs a free account.
1 other library draws an icon called Unhappy. The Other libraries section on this page shows each one, so you can compare them and open the one that fits your style.
Its tags are interface, social, emotion, feedback and sentiment. Each tag page lists the icons that carry it from every library, which is the quickest way to find a match for Unhappy in another set.
TDesign Icons draws many icons in several styles: Filled next to the default. Open the library and pick a style above the grid to see Unhappy's siblings in it.
4.9 out of 5 from 150+ developers
Install Unhappy from a prompt
MCP, 6,000+ blocks and 14 premium templates in every Pro plan. The icons stay free.
Get Pro