Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Sentiment Analyzer AI Block for Radix UI

Paste or pick a sample text and press Analyse to see matched words marked in the text, a verdict in words, five emotion counts with bars that add to 100, and the words found, all from a typed list of 62 words that says it is not a model.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Count the feeling in a piece of writing and show the working, with this tone checker for React with Radix UI. Tonemill, a tone checker, puts a Textarea beside a readout, with three sample chips (a product review, a support ticket, a launch note) and the Shine Button Analyse. The text is shown again with every matched word marked, a plus or minus beside it and the emotion read out for screen readers. A verdict in words (Mostly positive: 4 positive words, 3 negative) sits over five emotion rows with a count and a bar, and the words found are listed with how often each came up. It says on the page that it matches words from a typed list of 62 and is not a model. For feedback tools, review dashboards and writing aids.

FAQ

What stays in the page, and how do I make it real?

The word list, the three samples and the matching are all in the file. The marks, the verdict, the counts and the shares are worked out from the text you analyse; nothing leaves the page. To wire it for real, send the text to your model or service and map its labels to the same five emotions.

How does the matching work?

The text is split into words and each word is looked up, whole and in lower case, in a typed list of 62 words in five emotions: Joy, Anger, Sadness, Surprise and Fear. Each emotion has a polarity, positive, negative or neutral for Surprise. It does not stem words, read sentences or understand negation.

What does it get wrong?

Plenty. "Not good" counts as positive, sarcasm reads as the opposite of what is meant, and any word that is not on the list is ignored. That is why the page calls itself a word counter and the report says it is not a model.

Why do the bars add to 100?

The five shares are rounded by largest remainder, so they always sum to 100 when at least one word matched. With no matches every bar is empty and the verdict says that no feeling words were found.

How does it work from the keyboard?

The text area, the three sample buttons, Analyse and Copy report are all in the tab order. The marked text is a scroll region you can focus, and the status line says when the text has changed and needs Analyse again.

How does it look on a phone?

The readout moves under the text and its marked copy, the emotion rows keep their bars, and the marked text scrolls inside a fixed box.