A Compliment Generator cheat sheet is a compact reference for the controls, limits, and workflow that turn the Compliment Generator from a random phrase spinner into a focused, sincere one-line message. The widget holds 24 original prompts — exactly two choices for every combination of one of four focus areas (character, creativity, kindness, work) and one of three tones (concise, playful, warm) — so a quick lookup of what each control does is usually faster than trial and error. This cheat sheet gathers the field meanings, the optional name rules, the no-repeat behavior, the browser-side randomness source, and the personal-verification step into one place. Use it whenever you need to send a thoughtful message and want a fast reminder of which dropdown changes the subject, which changes the delivery, which characters get filtered from the name field, and which checks still belong to you before you press copy. The page is not a writing style guide; it is a controls reference that lets you spend your attention on whether the line is true.

Controls at a Glance
The Compliment Generator exposes four controls and one output area. Each control maps to a specific part of the result, so changing one does not silently rewrite the others. The table below shows what each field does and what it does not change, which is the fastest way to remember where a given sentence property is set.
| Control | Type | What it changes | What it does not change |
|---|---|---|---|
| Name | Optional text field, up to 60 Unicode code points, trimmed at the edges | Personalization placed before the sentence | The subject, tone, or selected line |
| Focus | Dropdown: Character, Creativity, Kindness, Work | The subject of the wording | The delivery style or length |
| Tone | Dropdown: Concise, Playful, Warm | The delivery and sentence shape | The underlying respect or subject |
| Generate | Action button | Draws one of the two matching lines using browser crypto | Does not persist the previous click to a server |
Changing any field — Focus, Tone, or Name — clears the previous result, so a stale line never lingers in the output. None of the Focus options rates appearance, health, intelligence, identity, or worth; if you need to write outside those lanes, the tool is not the right starting point. The Name field is optional in every Focus-and-Tone combination, and leaving it blank produces a sentence that starts with the capitalized word Your.
How to Generate a Sincere Line
The shortest path through the widget is a short sequence of steps. The numbered list below is the verified operating flow from the product contract, expanded with the verification step that turns a suggested line into a sendable one.
- Optionally enter a name in the Name field. The widget trims outer whitespace, rejects control characters, and accepts internal punctuation, accents, non-Latin scripts, and emoji as long as the total stays at or below 60 Unicode code points.
- Choose the aspect you want to appreciate from the Focus dropdown — Character, Creativity, Kindness, or Work — and the tone that fits the relationship from the Tone dropdown — Concise, Playful, or Warm.
- Press Generate to draw one line. Press it again on the same Focus and Tone to receive the other matching line; the widget remembers the last ID and excludes it from the next selection when a second option exists.
- Read the sentence. Confirm it is sincere and context-appropriate for the recipient, personalize it with a real example, then press Copy. The result is plain text — no @mention, no greeting, no signature, and no emoji is added unless you type one yourself.
If you change the Focus or Tone after a result is on screen, the previous sentence is cleared and the next click draws from the new pool of two lines. If you update the Name after a result is on screen, the previous sentence is also cleared, and a new Generate press is required to draw a line.
The 24 Prompts: Focus and Tone Matrix
The 24 prompts are organized as a 4 × 3 matrix. Each Focus value pairs with each Tone value exactly twice, giving twelve pools of two lines each, so the second click on the same pair always has somewhere to go. The combined table below is a quick lookup for which subject a Focus covers and which delivery each Tone produces, so you can pick deliberately instead of cycling through options.
| Setting | Label | What the line covers |
|---|---|---|
| Focus | Character | Integrity, courage, honesty, dependability |
| Focus | Creativity | Ideas, imagination, new perspectives |
| Focus | Kindness | Attention, support, helping others feel seen |
| Focus | Work | Clarity, care, follow-through, contribution to a team |
| Tone | Concise | Direct, short sentence |
| Tone | Playful | Light imagery, relaxed wording |
| Tone | Warm | Fuller sentence with more feeling |
Tone changes the delivery, not the underlying respect — a Playful line is still a sincere line, just shorter on imagery. If a line feels off, switching the Tone is often a faster fix than switching the Focus, because the subject already matched the relationship. If the subject itself is wrong, switch the Focus instead and start the draw over.
Name Field Rules and Output Format
The Name field is plain text with three rules. Knowing the rules prevents silent rejection and avoids surprises in the output after the line is generated.
- Length cap: up to 60 Unicode code points. Names longer than the limit are rejected rather than truncated, so check that any pasted text fits before generating.
- Trimming: outer whitespace is removed before the name is placed at the start of the sentence. Internal spaces, accents, non-Latin scripts, and emoji pass through unchanged.
- Filtered characters: control characters and Unicode line or paragraph separators are rejected. The widget does not silently strip punctuation or emoji from the middle of a name.
When a valid name is present, it is placed before the sentence and the original opening Your becomes lowercase your after the comma — for example, "Maya, your careful review made a real difference." Without a name, the line starts with Your as a capitalized opening word. The result remains plain text in every case, so it pastes cleanly into chat, email, or card layouts without dragging in hidden formatting.
Randomness, No-Repeat, and Browser Privacy
The widget draws randomness from crypto.getRandomValues in the browser rather than Math.random. Each Generate press requests an unsigned 32-bit integer and maps it into the current two-line pool with rejection sampling, which removes the modulo bias that appears when a pool size does not divide the random space evenly. Up to 128 retries are allowed before the draw gives up. The selection logic itself never sees the recipient's profile, never inspects prior messages, and never decides whether a sentence is true.
Nothing leaves the current browser tab. Name validation, prompt selection, sentence formatting, and the clipboard write all happen locally; the widget does not upload the name or the sentence to a server. Clipboard access occurs only when you press Copy, and your browser may deny that permission. Because the random source is unbiased but the prompt inventory is fixed, repeated sessions vary in line order but not in the language you receive — randomness does not, by itself, make a sentence more personalized or more accurate.
Tips Before You Hit Copy
A result from the tool is a writing suggestion, not an evaluation. Before you paste it into a message, run a short check: does it describe something you genuinely observed, does it fit the relationship, and does it avoid protected traits such as appearance, identity, or health? If any of those answers is no, edit the line or pick a different Focus. Replace generic wording with a specific example whenever you can — naming the careful review, the patient explanation, the thoughtful question, or the creative solution that prompted the message usually makes it land harder than the original wording. For broader guidance on tone, length, and phrasing across situations, the guide on how to write a good compliment in any situation pairs well with this controls reference.
Use extra care in professional, educational, or sensitive relationships: avoid comments that could be read as romantic, patronizing, overly familiar, or based on a protected trait. A short, truthful, context-aware sentence usually reads stronger than an elaborate one. Edit freely, add the concrete reason for your appreciation, and send only wording that sounds like something you would actually say.
If you're weighing options, How to Make a Line Graph in Sheets Using Your Browser covers this in detail.