jasondavies/d3-cloud

Create word clouds in JavaScript.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on September 17th, 2026
Created on February 8th, 2012
Open Issues & Pull Requests: 2 (+0)
GitHub issues: Enabled
Number of forks: 1,056
Total Stargazers: 3,952 (+0)
Total Subscribers: 122 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 114.9 days
Mean response time: 690.2 days
90th percentile: 2455.0 days
Tracked items: 32

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • req (15)
  • bug (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

d3-cloud is a layout algorithm for creating word clouds in JavaScript.

The tool solves the problem of arranging words of varying sizes into an aesthetically pleasing cloud visualization. It uses HTML5 canvas and sprite masks to perform collision detection and positioning at near-interactive speeds. Words are placed starting from the largest and positioned from the center outward along a spiral path. When a word collides with previously placed words, the algorithm tests new positions along the spiral until finding an open space or exhausting placement attempts.

The project suits developers building data visualization dashboards, text analysis tools, or interactive web applications that need to display word frequency or importance visually. The tool exposes configuration options for word arrays, canvas dimensions, fonts, font styles, and font weights through accessor functions. The layout operates asynchronously using time-sliced intervals to prevent blocking the browser's event loop, with configurable time budgets per step. Words that cannot be placed within the attempted spiral positions are excluded from the final output.

Development activity shows consistent maintenance with bug fixes and incremental improvements applied over time. The project receives pull requests that are reviewed and merged when they address identified issues or enhance functionality. Documentation is maintained through the README and an interactive demonstration site that illustrates both usage and implementation details. The codebase remains focused on its core layout algorithm without significant feature expansion beyond the original scope.