Skip to content

Repository files navigation

📦 This tool now lives in clearbox

It has been merged into a single toolkit with six sibling tools, sharing one design and one bilingual (EN/AR) interface.

→ Use it here: https://wedo911.github.io/clearbox/tools/text/

This repository stays up so existing links keep working, but development continues in clearbox.


clearread

Paste any wordy text — a notice, an email, a policy document — and get it back shorter, plainer, and easier to read or hear aloud. Everything runs client-side. Nothing you paste is ever sent to a server, logged, or tracked — there is no backend at all.

Live site: https://wedo911.github.io/clearread/

Why

Plain language is an accessibility issue, not just a style preference. Long sentences and bureaucratic vocabulary create a real barrier for people with dyslexia or other cognitive disabilities, people reading in a second language, people under stress reading a medical or legal notice, and low-literacy adults generally. clearread is a small, honest tool for that moment: paste the confusing paragraph, get a plainer version, and adjust the page itself (size, spacing, contrast, read-aloud) to whatever's easiest to read right now.

How it works

Two independent, fully client-side passes, readable in one file — js/simplify.mjs:

  1. Sentence splitting — a sentence over ~22 words is broken at the first natural clause boundary (", which", ", because", ", and", etc.) into two shorter sentences.
  2. Word/phrase substitution — common bureaucratic vocabulary ("utilize", "in order to", "prior to", "commence") is swapped for the plain-English equivalent, using a ~110-entry dictionary in js/wordmap.mjs. Every substituted word is highlighted in the output; hover or tap it to see the original.

Word substitution currently covers English only. Arabic (and other non-Latin-script text) is detected and shown unchanged, because naive word-swapping is unreliable across Arabic's richer morphology — that's a deliberate scope limit, not an oversight, and the app says so plainly when it happens. The reading aids below don't have that limit:

  • Adjustable text size and line spacing
  • Dyslexia-friendly letter/word spacing toggle
  • High-contrast mode
  • Read-aloud via the browser's built-in speech synthesis (works in any language your browser has a voice for)

A note on the word dictionary

A few tempting entries were deliberately left out or removed after testing turned up broken output — e.g. mapping "accompanied" to "went with" reads fine as a plain verb ("she accompanied him") but breaks the extremely common passive construction "must be accompanied by" into "must be went with by." Where a word's most frequent real-world use is as a participle/adjective rather than a simple past-tense verb, it's left out rather than risk nonsense output. See the comments in js/wordmap.mjs and the regression test for that specific case in tests/simplify.test.mjs.

Run it locally

Static site, no build step:

python -m http.server 8000
# open http://localhost:8000

Run the tests

node --test tests/simplify.test.mjs

What this is not

  • Not a grammar or spelling checker.
  • Not a certified accessibility or medical-literacy tool — it's a heuristic aid. For anything legally or medically load-bearing, verify the simplified version says what you mean before relying on it.
  • Not multilingual for word substitution yet — see above. Contributions adding a well-tested dictionary for another language are very welcome.

Contributing

New dictionary entries (with a note on why they're safe as a plain substitution — see the section above), additional languages, and bug reports on sentences that split or substitute awkwardly are all welcome.

License

MIT — see LICENSE.

Releases

Packages

Contributors

Languages