Skip to content

sischreiber/readability-analyzer

Repository files navigation

Readability Analyzer

Readability Analyzer is a minimal client-side tool that analyzes pasted English or German text for readability scores and common style issues.

Paste text into the box and the app automatically detects English or German, then computes everything in your browser. No server, no API keys.

Live app: readability-analyzer.vercel.app

What it measures

Metric English German
Flesch Reading Ease ✓ (Amstad)
Sentence length
Coleman–Liau Index
Gunning Fog Index
Dale–Chall
Parts of speech mix
Repeated words
Lexical density
Difficult words
Wiener Sachtextformel
LIX
Improve with AI prompt
Syllable highlights (Flesch)

English mode

Result What it tells you
Flesch Reading Ease 0–100 score from sentence length and syllables per word, plus a difficulty band and reference table. The text is color-coded by syllable count (2, 3, or 4+ syllables).
Sentence length Flags sentences over 20 words and highlights borderline (21–30) and too-long (31+) sentences in the text. Shows the longest sentence length.
Coleman–Liau Index US grade level from letters per word and sentences per word. Independent cross-check on Flesch.
Gunning Fog Index US grade level from sentence length and the share of words with three or more syllables.
Dale–Chall Reading level from unfamiliar words vs. a list of about 3,000 familiar words, with a reference table.
Parts of speech mix Approximate share of nouns, verbs, adjectives, adverbs, and other words (compromise tagger). Shown as a bar, legend, and color-coded text with hover labels.
Repeated words Content words that appear more than once, highlighted in the text and listed as chips with counts.
Lexical density Percentage of words that are content words (nouns, verbs, adjectives, adverbs) rather than function words.
Difficult words Words the readability formulas flag as harder, highlighted in the text and listed as chips with counts.

German mode

Result What it tells you
Flesch-Index (Amstad) German Flesch variant from sentence length and syllables per word (via hyphenopoly). Includes difficulty bands and syllable highlights.
Satzlänge Same sentence-length rules as English (20 / 21–30 / 31+ words).
Wiener Sachtextformel Classic German expository readability formula from @lunarisapp/readability.
LIX Letter-based readability index from lix-index.

German mode omits metrics that depend on English word lists or unreliable client-side German POS tagging.

It also builds a copyable LLM prompt for the active language.

Text under 12 words shows a short notice instead of scores. Other languages show an unsupported-language notice.

Libraries

English

German

Run locally

npm install
npm run dev

Open the URL shown in the terminal (usually http://localhost:5173).

Build

npm run build
npm run preview

Tests

npm test

Lightweight unit tests cover input gating, language detection, text tokenization, word variety counting, German metrics, and style overlay merging.

Deploy

Live at readability-analyzer.vercel.app. The project is a standard Vite + Svelte app: push to GitHub and import the repo in Vercel for zero-config deployment.

About

Client-side readability analyzer for English text. Scores, word variety, and copyable LLM prompts.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors