Skip to content
← Back

Character Frequency Analyzer - Ciphertext & Text Char Count

Text
Runs locally · Not uploaded

Analyze character frequency in ciphertext or plain text: case folding, whitespace/punctuation filters, Top-N, bar chart, CSV/JSON export. Free, local processing.

Was this result helpful?

For local tools, open DevTools → Network and search your input — it should not appear in requests.

Next steps

Usage Guide

Count occurrences and frequency share for every character, with case folding, whitespace/punctuation filters, Top-N truncation, and CSV/JSON export. It is more than a writing-analysis tool — character frequency differences are the key that breaks classical substitution ciphers, and a first step in identifying an unknown encoding.

1. How to combine the counting options

  1. Default: fold case and drop whitespace — good for letter/CJK frequency. Turn on case sensitivity or include whitespace when you need A/a or space counts.
  2. Ignore punctuation: strip Unicode punctuation (commas, periods, quotes, CJK marks, …) — typical for cryptanalysis or “body text only”.
  3. Top-N: after sorting, show only the first 10/20/50/100 rows; percentages still use the full filtered total as the denominator.
  4. Export: copy CSV, or download CSV/JSON for spreadsheets, scripts, or notebooks.

2. Breaking substitution ciphers with frequency analysis

Monoalphabetic ciphers (Caesar, Atbash, any permutation table) do not alter frequency structure: the most common ciphertext letter almost certainly maps to the most common plaintext letter. English letter frequency is remarkably stable at ETAOIN SHRDLU (E alone around 12%), so the workflow is: fold case, drop whitespace and punctuation → rank ciphertext frequencies → align the top letters against E/T/A candidates → cross-check with digrams (th, he) and trigrams (the, and) → substitute iteratively until readable. Longer text means stabler statistics; below roughly 100 letters, noise dominates.

3. Frequency fingerprints of Chinese text

Modern Chinese is extremely head-heavy: 的、一、是、了、我、不、在、人、们、有 dominate the top ranks, and the 100 most frequent characters cover over 40% of ordinary text. Comparisons are equally useful: classical versus modern Chinese differ sharply, technical documents show a spike in ASCII symbols, and machine-generated text tends to sit unusually close to uniform — frequency distribution works as auxiliary evidence for style and provenance. On long texts, use Top-N for a quick head view, then export JSON for coverage curves.

4. Reverse use: a health check for your passwords

  • If your passwords concentrate on high-frequency characters (keyboard walks like qwerty, birthdays, dictionary words), dictionary and frequency-ordered search shrink the cracking space dramatically.
  • Stronger random passwords should look near-uniform in distribution — running your generator output through this tool is a cheap sanity check.
  • Caution: pasting real passwords into any online tool is a leak risk. This page computes everything locally, but prefer test samples for passwords.

5. A first step before identifying unknown encodings

Faced with unreadable data, inspect the frequency distribution before guessing: Base64 text collapses to a 64-character mixed-case alphabet; hex text contains only 0-9a-f; binary-to-text artifacts show clear control versus printable layering. The character-set fingerprint from a frequency pass beats eyeballing for both speed and reliability. Keep spaces and punctuation when you need the full fingerprint (include whitespace, leave ignore-punctuation off).

6. Option combo acceptance

Case fold, whitespace, punctuation, and Top-N change the list while percentages use the filtered total. Lock the same switches before exporting CSV/JSON for A/B compares. Drop whitespace/punctuation for cipher work; keep symbols for encoding fingerprints. Prefer test samples over real passwords.

FAQ

Case folding or case-sensitive counting, whitespace inclusion, ignoring Unicode punctuation, Top-N (all / 10 / 20 / 50 / 100), sorting by count or by character, plus copy-as-CSV and CSV/JSON download. Percentages always use the full filtered total as the denominator.

Yes. Paste the ciphertext (or a fragment), disable whitespace, ignore punctuation, fold case, then sort by count — the classic opening move of frequency analysis in cryptography. In English plaintext, letters like E/T/A dominate; weak ciphers such as simple substitution tend to preserve a similar distribution.

No. Top-N only truncates the rows shown; percentages still divide by every character that passed the filters, so a head-only view never inflates the shares.

The longer the text, the steadier the pattern — under roughly 100 letters, noise interferes badly. English letter frequency has long settled around the ETAOIN SHRDLU order, with E alone near 12%. After mapping the top ciphertext letters onto E/T/A candidates, cross-check with bigrams (th, he) and trigrams (the, and), substituting step by step until the text reads.

Modern Chinese is highly concentrated: characters like 的、一、是、了、我 hold the top slots year after year, and the 100 most common characters cover over 40% of ordinary text. Classical and modern Chinese differ visibly, technical docs show a jump in Latin letters and symbols, and machine-generated text tends to be suspiciously uniform — a frequency profile works as auxiliary evidence of style and origin.

Both. A password concentrated on high-frequency characters (keyboard walks, birthdays, common words) has poor randomness, while a well-randomized one should look close to uniform. For mystery data, take a character-set fingerprint first: Base64 collapses to 64 mixed-case characters and hex only contains 0-9a-f. Use test samples instead of real passwords.

Related Tools

Related Articles