Skip to content
πŸ› οΈToolsShed

Pangram Checker

Check if text contains all 26 letters of the English alphabet.

Examples:

About this tool

A pangram is a piece of text that contains all 26 letters of the English alphabet. The Pangram Checker instantly determines whether your text qualifies as a true pangram, making it useful for typographers, font designers, keyboard layout testers, and writers who want to verify complete alphabet coverage. Whether you're crafting test sentences, validating character sets, or simply curious about language, this tool provides immediate feedback.

To use the Pangram Checker, simply paste or type your text into the input field and the tool will instantly highlight which letters are present and which are missing. The interface clearly shows any alphabet gaps, so you can quickly edit your text to fill in the blanks. This approach is far faster than manually counting through 26 letters yourself.

Frequently Asked Questions

Code Implementation

def is_pangram(text: str) -> bool:
    """Check if text contains all 26 letters of the English alphabet."""
    letters = set(text.lower())
    return set('abcdefghijklmnopqrstuvwxyz').issubset(letters)

def missing_letters(text: str) -> list[str]:
    """Return letters missing from the text."""
    present = set(text.lower())
    return [c for c in 'abcdefghijklmnopqrstuvwxyz' if c not in present]

def pangram_stats(text: str) -> dict:
    present = set(c for c in text.lower() if c.isalpha())
    missing = [c for c in 'abcdefghijklmnopqrstuvwxyz' if c not in present]
    return {
        'is_pangram': len(missing) == 0,
        'present_count': len(present),
        'missing': missing,
        'unique_letters': sorted(present),
    }

examples = [
    "The quick brown fox jumps over the lazy dog",
    "Hello World",
    "Pack my box with five dozen liquor jugs",
]
for text in examples:
    stats = pangram_stats(text)
    print(f"'{text[:30]}...' -> pangram={stats['is_pangram']}, missing={stats['missing']}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.