Skip to content

Private customizable WhatsApp swear counter

Count swear words in a WhatsApp chat

Turn an exported conversation into a customizable swear jar. Count matched occurrences by participant, compare shares and review a bounded list of fictional-safe evidence rules without treating language as a verdict about anyone.

not ready to expose your own texts? try a stranger's

Free · No account · Chat content stays in your browser

How does the WhatsApp Swear Jar count words?

MyChatWrap checks attributable text messages against a per-chat list containing 16 mild English defaults plus additions and exclusions. Matching is case-insensitive, whole-word and stretch-aware. It counts every matched occurrence, while saving at most 300 evidence messages. The counter cannot interpret quotation, humor, reclamation, harassment or intent.

The real Dashboard › Overview comparison card

The preview renders the extracted production ComparisonSwearJarCard presentation with fictional counts, plus a safe accessible occurrence sample that explains what the private Open Jar viewer contains.

Product preview

Fictional example
Matched occurrences

0

Swear jar
Open jar preview
Person A
92Leads
Person B
54
Person A63%37%Person B
Safe fictional WhatsApp Swear Jar evidence examples
ParticipantTimeFirst matchSnippet
Person AJun 18, 2025 · 9:14 PMdamnDamn, I left the charger at home again.
Person BJun 14, 2025 · 6:32 PMcrapCrap — the train was cancelled.
Person AJun 2, 2025 · 8:05 AMhellWhere the hell did I save that file?

The complete fictional fixture contains 146 occurrences. A real jar keeps exact totals but stores no more than 300 matching-message instances, each with a snippet capped at 300 string units.

This is the real Dashboard › Overview comparison-card presentation populated with fictional counts. The sample evidence demonstrates the private Open Jar layout without using a real chat. Counts match configured word occurrences; they do not establish hostility, toxicity or intent.

Exact occurrence totals

Count every matching occurrence in attributable text, including multiple configured words in one message.

Participant comparison

Compare two-person counts and shares using the production Overview card, or rank all members in a group leaderboard.

Custom per-chat vocabulary

Add tracked words or remove and restore individual defaults without changing other imported chats.

Stretch-aware boundaries

Match emphasized spellings such as extended letters while protecting short innocent words from doubled-letter false positives.

Capped evidence viewer

Retain an exact aggregate total while limiting saved message instances to the first 300 matched messages.

Eligible playful award

Use the highest participant count for the optional Potty Mouth award when swear-jar data is available.

Fill a WhatsApp swear jar in three steps

  1. 1. Export the conversation

    Choose Export chat in WhatsApp and save the .txt or .zip containing the history you want counted.

  2. 2. Add it privately

    Drop the export above. The browser counts active default and custom words in attributable text messages.

  3. 3. Review and configure

    Compare participants, open the bounded evidence list and adjust the per-chat vocabulary when a default or custom term does not fit.

How to export a chat from WhatsApp

Two minutes on your phone. Choose your device, follow the taps, then come back and add the file above.

Watch the whole flow — export from WhatsApp, then drop the file into this app.

1Open the chat, then tap the contact or group name at the top.

Contact Info
Media, Links & Docs
Starred Messages
Chat Search
Export Chat
Clear Chat

2Scroll down and tap “Export Chat”.

Export Chat
Without Media
Attach Media
Cancel

3Choose “Without Media” to keep the file small.

Save to Files

4Send the file to yourself, or tap “Save to Files”.

mychatwrap.com/whatsapp-to-pdf
WhatsApp to PDF
_chat.txt
Chat added — building your PDF
Convert to PDF

5Open this page and drop the .txt file into the box.

1Open the chat, then tap the contact or group name at the top.

Which words are counted by default?

The starter list is: damn, hell, crap, ass, asshole, bastard, bitch, bloody, bollocks, bugger, dick, piss, shit, fuck, fucking and goddamn. It is deliberately mild, English-only and non-exhaustive.

Each imported chat can add custom tracked words, including inside jokes or nicknames, and exclude or restore defaults. The engine deduplicates, trims and lowercases the effective list before matching.

How matching and occurrence counts work

Only non-empty text entries with an attributable sender are eligible. The effective vocabulary becomes one case-insensitive global regular expression with word boundaries. Every match increments both the participant and chat total, so a message containing two configured terms adds two occurrences.

Stretch matching accepts extended letters. Strict handling preserves the minimum repetition in doubled-letter source words: ass matches ass or assss but not the innocent word as. Word boundaries also prevent ass from matching class or classic.

What the Open Jar evidence contains

For each matched message retained under the cap, the jar stores its identifier, participant, timestamp, first matched word and the first 300 JavaScript string units of message content. If one message contains several matches, totals include all of them but the evidence row labels only the first matched word.

Aggregate counts remain exact even when more than 300 matched messages exist. The evidence list retains the first 300 matching messages in chronological input order, despite an outdated engine comment that describes most-recent order.

Why a swear count is not a context judgment

The matcher cannot know whether a term is quoted, affectionate, joking, reclaimed, self-directed, part of a song, or used to attack somebody. Custom words can be non-profanity by design, so the total is better understood as configured-word occurrences.

Do not use the leaderboard to label somebody abusive or toxic. Reviewing surrounding context is essential, and serious safety concerns cannot be assessed by a word counter.

What the Swear Jar shows

  • Exact matched-occurrence totals by attributed participant.
  • A two-person share card or group leaderboard plus optional playful award.
  • Up to 300 matched-message evidence rows and the active per-chat vocabulary.

What it cannot show

  • Intent, tone, harassment, toxicity or whether a quoted word reflects the sender's own speech.
  • Complete multilingual profanity coverage or spelling variants outside stretch matching.
  • More than 300 saved evidence messages, even though aggregate totals remain exact.

Count configured words without uploading the conversation

MyChatWrap computes the swear jar in your browser and stores its result in the local chat database. Standard processing does not upload message content, participant names or evidence snippets to the MyChatWrap server. Shared snapshots include participant counts only, never snippets or instances.

WhatsApp Swear Jar questions

Settle the jar with the actual count

Add an exported WhatsApp conversation to compare configured-word occurrences and adjust the vocabulary for that chat.

Count the swear jar