open-source word clouds for Processing
Java HTML Processing Ruby
Clone or download
Latest commit e2cc2e2 Apr 4, 2017
Failed to load latest commit information.
.settings backported from java1.6 to java1.5 - should run on 1.5 JVMs now Feb 13, 2011
example Update renderToSvg.pde Mar 7, 2017
ideExample Strip out ASL copyright headers. The LICENSE file should suffice. Dec 1, 2013
javadoc manually bring ./javadocs up-to-date on master Jan 6, 2016
lib update the .jars for Processing 3 Oct 31, 2015
src Add WordBag, the first new WordSource. Feb 13, 2016
test/wordcram Strip out ASL copyright headers. The LICENSE file should suffice. Dec 1, 2013
.classpath Remove .svn excludes from .classpath, since we're off .svn Jan 31, 2015
.gitignore Add example/gallery, and a Rake task to include them in jekyll. Feb 1, 2015
.project Initial Commit Aug 30, 2010
.ruby-gemset Switch from .rvmrc to .ruby-version Jun 20, 2013
.ruby-version bump ruby version for build tools Oct 31, 2015
Gemfile For #15, move downloads from github to Amazon S3 Feb 25, 2013
Gemfile.lock Upgrade ruby version to 2.1.2, and bundle install Jan 31, 2015
LICENSE Initial Commit Aug 30, 2010
NOTICE Update copyright NOTICE Feb 4, 2015 Update Wikipedia example to use HTTPS Jul 30, 2015
RELEASENOTES.txt Add #42 bug fix to Release notes Aug 10, 2013
Rakefile MERGE master into gh-pages, don't rebase it. Jan 6, 2016
VERSION Bump version to 1.0.1 Feb 13, 2016
build.json.example Make a build.json.example for peeps who want to build WordCram Feb 25, 2013 Add Hope I got it right! Jan 6, 2016
wordcram.png javadoc: added overview.html and wordcram.png; added some javadoc com… Oct 20, 2010

WordCram lets you generate word clouds in Processing. It does the heavy lifting -- text analysis, collision detection -- for you, so you can focus on making your word clouds as beautiful, as revealing, or as silly as you like.

Word Cloud by WordCram

Make a Word Cloud

import wordcram.*;

// Set up the Processing sketch
size(1000, 600);

// Make a wordcram from a random wikipedia page.
new WordCram(this)
  .withColors(color(30), color(110),
              color(random(255), 240, 200))
  .sizedByWeight(5, 120)

You can control where words appear, what angle they're at, their font, their color, and how they're sized.


Installing WordCram is simple, like any standard Processing library.

How do I use this thing? Show me examples!

You can check out the tutorials and examples at You can watch WordCram in action, on OpenProcessing: popular baby names, and the U.S. Constitution.

But the best way to see WordCram in action is to install it, and look at the examples under File > Examples > Contributed Libraries > WordCram.


If you're running into problems, see the FAQ, or read the javadocs.

If a question has you stumped, and the FAQ is no help, send me a note. My email account is 'wordcram', and I use gmail.

Want a better WordCram?

WordCram is open-source under the Apache 2 license. That means you can help make it better! I try to keep the source clean so it's easy to find your way around. There's a laundry list of things to do, and it's easy to build WordCram from source.