AI tools, scored for your job
Get paid to train AI
🤝 You're in the Free & Open Source library — community-built tools you can use without paying. A different concept from our scored AI directory.
Home › Free & Open Source › Customer Support › scattertext
✦ Free & open sourceCustomer Support

scattertext

Create interactive HTML scatter plots visualizing how language differs between document types.

Visualizing Language Differences in Corpora

Generate interactive HTML scatter plots to find distinguishing terms in text corpora.

Free forever · open source · Apache-2.0
✓ Light setup✓ Browser-based✓ Real-time collaboration
6.8
ZEKAI
Essential NLP visualization library
Free & open source · Customer Support
Ease of setup3
Usefulness8
Maintenance8.5
Community7.5
★ 2,344
GITHUB
Jul 2026
UPDATED
Apache-2.0
LICENSE
🛠 Don't want to self-host? We can set it up →
⚡ Quick answer

Scattertext is a Python library that builds browser-based interactive visualizations of how language differs across document categories. It helps you analyze term frequencies, associations, and semantic patterns using non-overlapping labels. Data scientists and text analysts exploring textual datasets will find it especially useful.

Runs on
Cross-platform
Hosting
Desktop
Languages
Python
License
Apache-2.0

What it is

It takes parsed document corpora and produces interactive D3 scatter plots where points correspond to terms or phrases positioned by category usage. Features include label placement algorithms to prevent overlap, zoom and pan controls, and support for alternative scoring methods like Cohen's d, Hedge's g, and Bi-Normal Separation. You can also visualize topic models, word embeddings, and specialized dictionaries like Empath or Moral Foundations.

Who it's for

It suits Python developers and computational social scientists needing to explain classifier weights or compare text corpora. It does not suit users who do not know Python or those looking for a drag-and-drop web dashboard without coding.

Key features

Interactive D3 Scatter Plots

Build browser-based visualizations with non-overlapping term labels and zoom support.

Multiple Scoring Methods

Score terms using scaled F-score, Cohen's d, Hedge's g, Cliff's Delta, or Bi-Normal Separation.

Specialized Dictionary Support

Visualize Empath topics, Moral Foundations 2.0 categories, and SentencePiece tokens.

Model Interpretation

Explain scikit-learn text classification weights and topic models through interactive projections.

How to start

Up and running in 3 steps

1
Install Python 3.11 or higher and run pip install scattertext.
2
Prepare your text corpus DataFrame and parse documents with spaCy or whitespace tokenizer.
3
Run produce_scattertext_explorer to generate and save your interactive HTML visualization.
Real talk

Our honest verdict

What's great

  • Generates standalone interactive HTML files for easy sharing
  • Smart label positioning prevents text overlap on dense plots
  • Supports multiple statistical effect size metrics out of the box
  • Integrates with popular NLP libraries like spaCy, gensim, and jieba

Where it falls short

  • Requires proficiency in Python programming and text preprocessing
  • Heavy computations can be resource-intensive for very large corpora
  • Best performance requires installing multiple external NLP dependencies
Cost

Pricing & license

Free under the Apache-2.0 license. There are no paid hosted options provided by the project, so the only cost is running it yourself in your Python environment.

Paid work

Open remote AI-training roles

870 open remote AI-training roles, updated November 14, 2026; most pay $20–$170 an hour. Zekai lists them free; the application goes to the employer’s platform.

See all open roles →
Compare

Alternatives

Get more

Use it, or have us set it up

📄 Free PDF: scattertext for Customer Support
A plain-language guide to getting your first result. Sent to your inbox.
🔔 64 people want a full video tutorial — add your vote
🛠 Don't want to set it up yourself?
We'll install, host & configure scattertext for you — and train your team.
Get it done for you ↗
Questions

FAQ

Can I use Scattertext without installing spaCy?

Yes, you can substitute spaCy with scattertext.WhitespaceNLP.whitespace_nlp, though tokenization and sentence boundary detection will rely on basic regular expressions.

What browsers are best for viewing the output?

The generated HTML outputs look and perform best in Chrome and Safari.

How do I prevent labels from overlapping?

Scattertext automatically applies a layout algorithm that selectively labels points so they do not overlap with other labels or points.

Radar

Latest AI news

✉️ The weekly free toolkit
The best new free & open-source tools for Customer Support — one short email a week, in your language.
Free · 1 email/week · unsubscribe anytime
Get paid to train AI →

See Zekai first in Google