About Sentiment Analyzer
This sentiment analyzer is free, needs no sign-up and runs in your browser. It scores English text from -1 (very negative) to +1 (very positive) and labels it positive, negative or neutral. You can score a single message, one text per line, or a column of a CSV file, and download the results as a CSV.
It works in two layers. The first is an instant rule-based scorer in the style of VADER: a word list with strengths, plus rules for negation ("not good"), intensifiers ("very good"), capital letters, "but" and exclamation marks. It is available the moment the page opens. The second is an optional DistilBERT model (SST-2) that you can download, 68 MB, to get a second opinion from a trained neural network.
The text stays on your device. The only network use is the one-time model download from Hugging Face, and only if you ask for it. The tool is for English only, and the model gives a positive or negative label with no neutral class.
How to use Sentiment Analyzer
- Choose how you want to enter text: one text, one per line, or a CSV column.
- Paste your text or drop a CSV file. The sample on the page shows the format.
- For a CSV, pick the column that holds the text and say whether the first row is a header.
- Read the label and score. For one text, the words that moved the score are listed.
- Optional: tap Download model, then Run, to add the DistilBERT label and confidence to every row.
- Download the table as a CSV to use in a spreadsheet.
Features
- Instant rule-based scoring that needs no download.
- Optional DistilBERT SST-2 model, 68 MB, downloaded only when you confirm.
- Batch input: one text per line or any column of a CSV, up to 2000 rows.
- Results table with the rule-based label and score next to the model label and confidence.
- CSV export of the whole table, including rows past the first 200 shown on screen.
- The words behind the score, so you can see why a text came out positive or negative.
- Negation, intensifiers, capitals, "but" and exclamation marks handled.
- Works on a phone, in light and dark mode.
How the rule-based score is calculated
Each known word has a valence between -3 and +3. Negation within the three words before flips and weakens a word (multiplied by -0.74). An intensifier such as "very" adds to its strength, a dampener such as "slightly" subtracts, and a word in capitals gets a small boost. Words before a "but" count half and words after it count one and a half. Each exclamation mark, up to four, adds a little in the direction of the text.
The sum is squashed into the range -1 to +1 so that long texts do not run away. A compound score of 0.05 or more is positive, -0.05 or less is negative, and anything between is neutral.
compound = sum / sqrt(sum^2 + 15)
positive: compound >= 0.05
negative: compound <= -0.05
neutral: otherwiseWorked examples
I love this phone, the camera is excellent! gives positive, +0.85
Two strong positive words and an exclamation mark.
This is not good. gives negative, -0.33
The word "good" is positive, but "not" flips it.
The food was great, but the service was terrible. gives negative, -0.65
Words after "but" count more, so the negative part wins.
The package arrived on Tuesday. gives neutral, 0.00
No sentiment words, so the text is neutral.
Rule-based scorer and the DistilBERT model compared
| Rule-based | DistilBERT SST-2 | |
|---|---|---|
| Availability | Instant | Download 68 MB first |
| Labels | Positive, neutral, negative | Positive, negative |
| Language | English | English |
| Explains itself | Lists the words that moved the score | No |
| Handles context and sarcasm | Only simple rules | Better, still imperfect |
Good to know
What a sentiment score can and cannot tell you
A sentiment score measures the tone of the words, not whether a statement is true or whether the writer is satisfied overall. Sarcasm ("great, another delay") is often misread by both methods. Domain words matter too: "sick" is negative in a hospital review and positive in slang.
Treat the score as a quick sort for large piles of text, then read the extremes yourself. For an important decision, check a sample of rows by hand.
Where the models and the word list come from
The word list was written for this tool and is not copied from another list. The optional model is DistilBERT fine-tuned on the SST-2 movie review set (Apache-2.0 licence), served as a quantised ONNX file by Hugging Face. Because it was trained on movie reviews, it can be less sure on other kinds of text.
Privacy: how it works
- Your text and CSV files are processed in your browser and are never sent to Ulkaa. If you choose to run the model, the model file is fetched once from Hugging Face; your text is not sent there.
Tips
- Score reviews one per line rather than as one long paragraph, so you get a result for each.
- Remove quoted replies and signatures from emails first, because they add words that are not the writer's.
- If the rule-based score and the model disagree, the text is probably mixed or sarcastic. Read it yourself.
- The model reads only the first 512 tokens of a long text.
Frequently asked questions
Is it really free?
Yes. There is no price, no trial and no credit card. Ulkaa Tool does the work with your own device, so there is no server bill to pass on to you.
Do I need an account?
No. There is no sign-up and no login. Open the page and use it. An Ulkaa account is not needed for anything on this tool.
Does it run in my browser?
Yes. Your text are processed by code running in your browser tab, on your own device.
Is my data uploaded?
No. Your text are never sent to Ulkaa or to anyone else. You can check this yourself by watching the Network tab in your browser developer tools while you use the tool.
Does it work in languages other than English?
No. The word list and the DistilBERT model are English only. Text in another language will mostly come out neutral or be scored wrongly.
Why does the model never say neutral?
DistilBERT SST-2 was trained with two labels, positive and negative. A flat text is still pushed to one side, usually with a lower confidence. Use the rule-based score if you need a neutral class.
What is the compound score?
It is the total strength of the sentiment words in the text, squashed into the range -1 to +1. Above 0.05 is positive, below -0.05 is negative.
Is the model downloaded automatically?
No. It is 68 MB, so the tool shows its size and waits for you to tap Download. It comes from Hugging Face the first time, and your browser may keep a copy for next time.
How do I analyse a CSV file?
Switch to the CSV column mode, drop the file or paste it, choose the column with the text, and read or download the results table. The file is read on your device.
How many rows can I score?
Up to 2000 rows at once. The page shows the first 200 rows, and the CSV download holds them all.
Can it detect sarcasm?
Not reliably. Both methods read the tone of words, so sarcasm that uses positive words for a negative point is often missed.
Can I use the results for research or decisions?
Use them as a first pass. Both methods make mistakes, so check a sample by hand and report the method (rule-based or DistilBERT SST-2) with your results.
Popular Sentiment Analyzer pages
- Text Sentiment AnalysisPaste a message, post or paragraph and get a positive, negative or neutral label.
- CSV Sentiment AnalysisDrop a CSV file, pick the text column and get a sentiment label for every row.
- Review Sentiment CheckerPaste product or service reviews, one per line, and count the positive and negative ones.