t°textheat

A little clarity for the things we say. Find the feeling in your
text with a fast, private, self-contained highlighting engine.

◈ No remote APIs⌁ No required models↯ Runs right here
THE PLAYGROUND
LIVE ANALYSIS
0 charactersMixed
More nuanceOnly the strongest
THE PALETTE
PositiveNegativeJoyAngerSadnessFearSurprise
TRY A DIFFERENT FEELING
BEYOND THE HIGHLIGHTS

Context, clauses & what the feeling is about.

FAST LOCAL RULES

Aspects Heuristic noun-phrase attribution

    Clause-by-clause Includes evidence below the highlight threshold

      Why was this phrase highlighted—or omitted?
        Optional browser-native second opinion

        Checking on-device model availability…

        Never calls a remote inference service. A browser-managed model download may be required and is only requested by clicking the download button. Model opinions stay separate from the local evidence and are not calibrated confidence.

        THOUGHTFULLY SIMPLE

        No black box.
        Just a useful baseline.

        An expanded English rule-based lexicon, multiword matching, and explicit context rules—not a trained sentiment classifier. Every highlight starts with recognizable lexical evidence.

        YOUR NEXT PROJECT
        import text from "textheat";
        
        text.heat("I love what you're building.");
        
        // A string in. Safe, colorful HTML out.
        // No setup. No service. No surprises.
        FROM WORDS TO COLOR

        Small rules. Visible reasoning.

        A transparent baseline, not a claim to understand everything you mean.

        1. 01 / RECOGNIZE

          Words, and the words around them.

          The original English dictionary contains 5,981 entries: 1,850 words and 4,131 multiword phrases. Longest-match lookup considers up to 12 words, preserving exact source text without overlapping fragments. Coverage includes everyday feelings, product and service reviews, technology, travel, food, education, and cooperation.

          Vocabulary and constrained review-phrase templates are authored locally, not imported from a training corpus. More entries mean more recognizable wording—not measured accuracy or full language understanding.

        2. 02 / ADJUST

          Context changes the signal.

          Negation looks back up to 8 tokens within bounded context and multiplies the score by −0.7. “Not just good” and “no doubt helpful” are exceptions, not ordinary reversals. Explicit absence of listed negatives (“free of bugs”) becomes positive; lack of support or reliability becomes negative, also scaled by −0.7.

          “More reliable” scales a listed positive quality by 1.15; “less useful” by 0.65. Conditional/modal cues and narrow “too … to …” or negated “… enough” frames signal uncertainty rather than inventing the opposite meaning. Shared predicates can explain up to three explicit targets, such as “the interface and navigation are intuitive.”

        3. 03 / SELECT

          Strength is not certainty.

          Importance is abs(score) / 4 + emotion bonus, with a 0.08 bonus when an emotion is present, clipped to [0, 1]. The default highlight threshold is 0.30. A separate heuristic cutoff of 0.50 can withhold uncertain evidence; it is not a probability or calibrated confidence.

        4. 04 / RENDER

          A palette with a purpose.

          Emotion colors take precedence over positive or negative polarity colors. The dynamic page-surface palette adapts to the surrounding page, maintaining at least 4.5:1 text/background contrast. Color shows the kind of signal—not whether a statement is true.

        Explore the reasoning rules and their limits
        • Longest phrase first. Exact phrases consume their words together. Punctuation, hyphens, and newlines break matching; phrases across separate page elements are not merged.
        • Bounded negation. Look back up to eight tokens; punctuation, newlines, contrasts, and conjunctions restrict scope. An odd negator count reverses and softens evidence. “Not only / just / merely / simply” and “no / without doubt” do not negate the following quality.
        • Absence and lack. “Without” or “free of / from” bugs, errors, problems, or delays reverses listed negative evidence. “Lack of” or “lacks” support or reliability reverses listed positive evidence. A separate outside negator can reverse it again; emotion is not retained after a reversal. This is not a general rule for every noun.
        • Read through the noun. “Functional problems” is negative because the noun—not the apparently positive adjective—controls the phrase. “Don’t see any functional problems” is one positive green span: absence of an observed problem scales its negative head score by −0.8. A listed observation verb, optional any/a/no, up to three curated descriptors, and a listed problem noun must form a contiguous frame. Additional no or external negation can reverse it again; questions and hypothetical cues still abstain.
        • Narrow spelling support. Missing-apostrophe “dont” and the typo “funcitonal” work only inside a complete negative-problem observation frame. No global fuzzy matching or automatic spell correction is applied to the text.
        • Comparisons. Only useful, reliable, helpful, efficient, responsive, intuitive, and usable receive the less/more adjustments. “Less useful” remains weakly positive evidence; it does not prove uselessness.
        • Uncertainty. Bounded preceding if, unless, would, could, and hedge cues reduce heuristic correctness to 0.44. Questions and possible irony also trigger abstention. Listed “too [quality] to [action]” and “not [quality] enough” frames keep their lexical score but normally withhold the highlight.
        • Opinion targets. Up to three explicit coordinated subjects, each up to three noun words, can share a copular predicate within an 18-token window. Opinion verbs prefer a nearby object (“I love the interface”). No pronoun antecedent or invisible target is invented.
        • Transparent evidence. Expand the playground’s evidence list to see rule names, scores, omissions, and ambiguity cues. Default confidence remains null: heuristic correctness and normalized sentiment evidence are not calibrated probabilities.
        PRIVATE BY DESIGN

        Your words aren't the product.

        Read the feeling without sending the sentence anywhere.

        Analysis stays here.

        The playground and extension analyze text locally. textheat does not collect, transmit, or store the text you type, select, or read.

        Settings, not sentences.

        Only settings are stored locally. The extension is Off by default; website access for Auto mode is an explicit opt-in.

        No hidden extras.

        No external fonts, images, analytics, or trackers. The extension has no model download or remote inference. The website's optional model download is a separate, explicit choice.

        Like any hosted website, your hosting provider may receive normal page and asset requests. textheat does not attach your analyzed text to those requests.

        YOUR BROWSER. YOUR WORDS.

        Take a little color
        with you.

        Meet the textheat Chrome extension. Highlight emotional language on the pages you choose, with fast, local-only analysis.

        Download for Chrome

        Free · Manifest V3 · Unpacked installation
        Not published in the Chrome Web Store.

        Off by defaultNo text collectionNo remote analysis
        A minute to install.No account. No service.
        1. Download & unzipExtract the ZIP into a folder you will keep on your device.
        2. Open Chrome extensionsVisit chrome://extensions and turn on Developer mode.
        3. Load unpackedClick Load unpacked and select the extracted folder containing the manifest.
        4. Choose when to highlightThe extension starts Off. Use Manual tools, or opt into Auto and grant website access.

        Your page text is never collected, transmitted, or stored by textheat. Only settings are stored locally.