Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Web Animation
  3. Blotter

Blotter

NOASSERTIONJavaScript

A JavaScript API for drawing unconventional text effects on the web using WebGL and GLSL shaders.

Visit WebsiteGitHubGitHub
3.1k stars200 forks0 contributors

What is Blotter?

Blotter is a JavaScript API that allows developers and designers to apply advanced, unconventional text effects on the web using WebGL and GLSL shaders. It solves the limitation of CSS by enabling animated, shader‑based typography for graphic text elements like titles and headings, rendering them efficiently in canvas.

Target Audience

Frontend developers and web designers looking to create visually striking, animated text effects for headings, logos, or graphic typography without writing low‑level GLSL code.

Value Proposition

Blotter offers an accessible, performance‑optimized way to leverage WebGL shaders for text effects, with a pre‑built library of materials and an API that abstracts complex rendering, making it ideal for creative web projects.

Overview

A JavaScript API for drawing unconventional text effects on the web.

Use Cases

Best For

  • Creating animated title text with shader‑based effects
  • Adding playful, non‑CSS typography to website headers
  • Building graphic text elements for creative portfolios
  • Implementing WebGL‑powered text animations without deep GLSL knowledge
  • Enhancing branding with dynamic, custom text rendering
  • Experimenting with computational typography in web projects

Not Ideal For

  • Projects requiring text to be selectable or accessible for screen readers
  • Lengthy body text or content-heavy pages where semantic HTML is essential
  • Static sites that rely on server-side rendering without client-side JavaScript

Pros & Cons

Pros

Accessible GLSL Effects

Provides a simple API and growing library of configurable materials that abstract GLSL shader complexity, allowing non-experts to apply advanced text effects without coding shaders from scratch.

Efficient WebGL Rendering

Uses texture atlasing to batch draw calls in a single WebGL context, improving performance when multiple texts share the same effect, as detailed in the atlasing explanation.

Optimized Animation Loop

Leverages requestAnimationFrame to sync with browser refresh rate and pause in inactive tabs, enhancing performance and battery life, per the animation loop section.

Custom Font Support

Supports custom fonts via @font-face, enabling designers to maintain branding while applying effects, mentioned in the styling properties.

Cons

Non-Selectable Text

Renders text to canvas elements, making it impossible for users to select or copy text, a limitation explicitly admitted in the 'What Blotter Isn't' section.

Dependency Heavy

Requires Three.js and Underscore.js, adding to bundle size, and while a custom build of Three.js is used, it can complicate setups if other versions are already in use.

Limited to Graphic Text

Not suitable for body text or lengthy content, restricting its use to titles and headings, as stated in the README, which narrows its applicability.

Frequently Asked Questions

Quick Stats

Stars3,083
Forks200
Contributors0
Open Issues20
Last commit6 years ago
CreatedSince 2016

Tags

#design#animation#web-animation#canvas#glsl-shaders#creative-coding#frontend#javascript-library#typography#graphic-design#glsl#webgl#javascript#text#text-effects#css

Built With

G
Grunt
W
WebGL
t
three.js
u
underscore.js
J
JavaScript

Links & Resources

Website

Included in

Web Animation1.5k
Auto-fetched 1 day ago

Related Projects

Typed.jsTyped.js

A JavaScript Typing Animation Library

Stars16,270
Forks1,740
Last commit9 months ago
MalarkeyMalarkey

:keyboard: Simulate a typewriter effect in vanilla JavaScript.

Stars237
Forks16
Last commit5 years ago
Shuffle-textShuffle-text

"shuffle-text" is JavaScript text effect library such as cool legacy of Flash.

Stars136
Forks18
Last commit3 months ago
TypebotTypebot

Javascript library for typing animation

Stars18
Forks1
Last commit10 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub