Skip to main content

133 animated glitch badges — VRIL LABS phosphor-seafoam palette, chromatic-aberration, CRT scanlines. Python SDK + CLI.

Project description

glitch-badges by VRIL LABS

CI npm License: MIT

133 animated glitch badges across 4 collections — VRIL LABS phosphor-seafoam palette, chromatic-aberration glitch animation, CRT scanlines, corner bracket decorators.
All derived programmatically from a single badge-glitch.svg DNA.


Badge Architecture

Every badge inherits the exact same DNA:

Property Value
Background #0b0c0b void
Border #1a2a24
Glitch Chromatic aberration — red channel shifts left, cyan shifts right, steps(1) animation
Scanlines 4 px repeating phosphor grid, synchronized flicker
Corners CSS border-width bracket decorators
Accent seam Top-edge linear-gradient pulse

The Collections

Collection Badges Sizes Notes
Social (/social) 12 platforms + extras 200 px + 280 px Twitter, Instagram, YouTube, LinkedIn, GitHub, TikTok, Mastodon, Bluesky…
Comms (/comms) 14 platforms + extras 220 px + 310 px Discord, Telegram, Matrix, Slack, Signal, WhatsApp, Keybase…
Repo (/repo) 33 types 220 px + 290 px Status, License, Build, Security, Contrib, Version, Lang, Platform
Status (/status) 24 standalone 220 px PQ-ready, passing, failing, coverage, downloads…

Quick-Start: Drop a Badge into any README

<!-- Standard size -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/security-pq.svg" width="220" height="34" alt="Post-Quantum"/>

<!-- Wide variant -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/security-pq-wide.svg" width="290" height="34" alt="Post-Quantum"/>

<!-- Wrap in a link -->
[![Post-Quantum](https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/security-pq.svg)](https://github.com/dubzrn/glitch-badges)

Badge Gallery

Live preview — every badge rendered from raw.githubusercontent.com. Click any badge to copy its URL from the catalog below.

Social Media

Twitter  Instagram  YouTube  LinkedIn  Bluesky  Mastodon

Twitter Wide  Bluesky Wide  Sponsor Wide

Communications

Discord  Telegram  Signal  Slack

Matrix  Email  Discord Wide

Repository Status

Stable  WIP  Build Passing  Build Failing

Post-Quantum  Encrypted  MIT  PRs Welcome

Python  Rust  Node.js  Go

Post-Quantum Wide  Stable Wide  Build Passing Wide

Standalone Status

PQ Ready  Passing  Stable  Open Source

Contributing  Security  Downloads  Coverage


SDK Integrations

TypeScript / React / Node.js

npm

npm install glitch-badges

Generate a badge SVG (Node.js / server-side)

import { makeBadge, badgeUrl } from "glitch-badges";

// Generate SVG string
const svg = makeBadge({
  text:   "POST QUANTUM",
  accent: "#a78bfa",
  tag:    "Security",
  width:  260,
});
fs.writeFileSync("security-pq.svg", svg);

// Get CDN URL for pre-built badge
const url = badgeUrl("repo", "security-pq", /* wide */ true);

React component

import { GlitchBadge, GlitchBadgeImg } from "glitch-badges/react";

// Inline SVG (no network request)
<GlitchBadge text="POST QUANTUM" accent="#a78bfa" tag="Security" width={260} />

// Pre-built badge from CDN
<GlitchBadgeImg collection="repo" slug="security-pq" alt="Post-Quantum" wide />

CLI

# One-off custom badge
npx glitch-badges custom "POST QUANTUM" --accent "#a78bfa" --tag "Security" --width 260

# Get CDN URL
npx glitch-badges url repo security-pq --wide

# List all slugs
npx glitch-badges list
npx glitch-badges list repo

Python

pip install glitch-badges
from glitch_badges import make_badge, badge_url, get_preset

# Generate SVG
svg = make_badge("POST QUANTUM", accent="#a78bfa", tag="Security", width=260)
open("security-pq.svg", "w").write(svg)

# CDN URL
url = badge_url("repo", "security-pq", wide=True)

# Lookup preset
p = get_preset("twitter")   # → Preset(slug='twitter', accent='#1DA1F2', ...)

CLI

glitch-badges custom "POST QUANTUM" --accent "#a78bfa" --tag "Security"
glitch-badges url repo security-pq --wide
glitch-badges list

Or use the self-contained root-level generator (no install required):

# Regenerate all 133 badges
python badge_generator.py all --out .github/profile/assets/badges

# One collection only
python badge_generator.py repo --out ./assets

# One-off custom badge
python badge_generator.py custom "POST QUANTUM" --accent "#a78bfa" --tag "Security" --width 260

Rust

crates.io

# Cargo.toml
[dependencies]
glitch-badges = "1"
use glitch_badges::{BadgeOptions, make_badge, badge_url};

// Generate SVG
let svg = make_badge(BadgeOptions {
    text:   "POST QUANTUM".into(),
    accent: "#a78bfa".into(),
    tag:    Some("Security".into()),
    width:  260,
    ..Default::default()
});
std::fs::write("security-pq.svg", svg).unwrap();

// CDN URL
let url = badge_url("repo", "security-pq", true);

CLI binary

glitch-badges custom "POST QUANTUM" --accent "#a78bfa" --tag Security
glitch-badges url repo security-pq --wide

Badge Catalog

Two size variants per badge: standard (no suffix) and wide (-wide).
All URLs point to this repository's raw SVGs on GitHub.

Base URL: https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/


1 · Social Media Badges

Path: .github/profile/assets/badges/social/

Badge Standard <img> Wide <img>
Twitter <img src="...social/twitter.svg" width="200" height="34" alt="Twitter"/> <img src="...social/twitter-wide.svg" width="280" height="38" alt="Twitter"/>
X <img src="...social/x.svg" width="200" height="34" alt="X"/> <img src="...social/x-wide.svg" width="280" height="38" alt="X"/>
Instagram <img src="...social/instagram.svg" width="200" height="34" alt="Instagram"/> <img src="...social/instagram-wide.svg" width="280" height="38" alt="Instagram"/>
LinkedIn <img src="...social/linkedin.svg" width="200" height="34" alt="LinkedIn"/> <img src="...social/linkedin-wide.svg" width="280" height="38" alt="LinkedIn"/>
YouTube <img src="...social/youtube.svg" width="200" height="34" alt="YouTube"/> <img src="...social/youtube-wide.svg" width="280" height="38" alt="YouTube"/>
TikTok <img src="...social/tiktok.svg" width="200" height="34" alt="TikTok"/> <img src="...social/tiktok-wide.svg" width="280" height="38" alt="TikTok"/>
Mastodon <img src="...social/mastodon.svg" width="200" height="34" alt="Mastodon"/> <img src="...social/mastodon-wide.svg" width="280" height="38" alt="Mastodon"/>
Bluesky <img src="...social/bluesky.svg" width="200" height="34" alt="Bluesky"/> <img src="...social/bluesky-wide.svg" width="280" height="38" alt="Bluesky"/>
Share <img src="...social/share.svg" width="200" height="34" alt="Share"/> <img src="...social/share-wide.svg" width="280" height="38" alt="Share"/>
Star <img src="...social/star.svg" width="200" height="34" alt="Star"/> <img src="...social/star-wide.svg" width="280" height="38" alt="Star"/>
Sponsor <img src="...social/sponsor.svg" width="200" height="34" alt="Sponsor"/> <img src="...social/sponsor-wide.svg" width="280" height="38" alt="Sponsor"/>
Newsletter <img src="...social/newsletter.svg" width="200" height="34" alt="Newsletter"/> <img src="...social/newsletter-wide.svg" width="280" height="38" alt="Newsletter"/>
Expand full-URL copy-paste snippets
<!-- Twitter -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/twitter.svg" width="200" height="34" alt="Twitter"/>
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/twitter-wide.svg" width="280" height="38" alt="Twitter"/>

<!-- Instagram -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/instagram.svg" width="200" height="34" alt="Instagram"/>

<!-- LinkedIn -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/linkedin.svg" width="200" height="34" alt="LinkedIn"/>

<!-- YouTube -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/youtube.svg" width="200" height="34" alt="YouTube"/>

<!-- GitHub (social) -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/github.svg" width="200" height="34" alt="GitHub"/>

<!-- Mastodon -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/mastodon.svg" width="200" height="34" alt="Mastodon"/>

<!-- Bluesky -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/bluesky.svg" width="200" height="34" alt="Bluesky"/>

<!-- Sponsor -->
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/sponsor.svg" width="200" height="34" alt="Sponsor"/>

Wrap in a link:

[![Twitter](https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/twitter.svg)](https://twitter.com/yourhandle)
[![Bluesky](https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/social/bluesky-wide.svg)](https://bsky.app/profile/yourhandle)

2 · Communication Platform Badges

Path: .github/profile/assets/badges/comms/

Badge Standard <img> Wide <img>
Discord <img src="...comms/discord.svg" width="220" height="34" alt="Discord"/> <img src="...comms/discord-wide.svg" width="310" height="38" alt="Discord"/>
GitHub <img src="...comms/github.svg" width="220" height="34" alt="GitHub"/> <img src="...comms/github-wide.svg" width="310" height="38" alt="GitHub"/>
Telegram <img src="...comms/telegram.svg" width="220" height="34" alt="Telegram"/> <img src="...comms/telegram-wide.svg" width="310" height="38" alt="Telegram"/>
Slack <img src="...comms/slack.svg" width="220" height="34" alt="Slack"/> <img src="...comms/slack-wide.svg" width="310" height="38" alt="Slack"/>
Matrix <img src="...comms/matrix.svg" width="220" height="34" alt="Matrix"/> <img src="...comms/matrix-wide.svg" width="310" height="38" alt="Matrix"/>
Signal <img src="...comms/signal.svg" width="220" height="34" alt="Signal"/> <img src="...comms/signal-wide.svg" width="310" height="38" alt="Signal"/>
WhatsApp <img src="...comms/whatsapp.svg" width="220" height="34" alt="WhatsApp"/> <img src="...comms/whatsapp-wide.svg" width="310" height="38" alt="WhatsApp"/>
Keybase <img src="...comms/keybase.svg" width="220" height="34" alt="Keybase"/> <img src="...comms/keybase-wide.svg" width="310" height="38" alt="Keybase"/>
Chat <img src="...comms/chat.svg" width="220" height="34" alt="Chat"/> <img src="...comms/chat-wide.svg" width="310" height="38" alt="Chat"/>
Forum <img src="...comms/forum.svg" width="220" height="34" alt="Forum"/> <img src="...comms/forum-wide.svg" width="310" height="38" alt="Forum"/>
Docs <img src="...comms/docs.svg" width="220" height="34" alt="Docs"/> <img src="...comms/docs-wide.svg" width="310" height="38" alt="Docs"/>
Support <img src="...comms/support.svg" width="220" height="34" alt="Support"/> <img src="...comms/support-wide.svg" width="310" height="38" alt="Support"/>
Email <img src="...comms/email.svg" width="220" height="34" alt="Email"/> <img src="...comms/email-wide.svg" width="310" height="38" alt="Email"/>
Secure Channel <img src="...comms/secure_channel.svg" width="220" height="34" alt="Secure Channel"/> <img src="...comms/secure_channel-wide.svg" width="310" height="38" alt="Secure Channel"/>

3 · Repository Status Badges

Path: .github/profile/assets/badges/repo/

Status

Badge Standard <img> Wide <img>
Stable <img src="...repo/status-stable.svg" width="220" height="34" alt="Stable"/> <img src="...repo/status-stable-wide.svg" width="290" height="34" alt="Stable"/>
In Progress <img src="...repo/status-wip.svg" width="220" height="34" alt="In Progress"/> <img src="...repo/status-wip-wide.svg" width="290" height="34" alt="In Progress"/>
Experimental <img src="...repo/status-experimental.svg" width="220" height="34" alt="Experimental"/> <img src="...repo/status-experimental-wide.svg" width="290" height="34" alt="Experimental"/>
Maintained <img src="...repo/status-maintained.svg" width="220" height="34" alt="Maintained"/> <img src="...repo/status-maintained-wide.svg" width="290" height="34" alt="Maintained"/>
Deprecated <img src="...repo/status-deprecated.svg" width="220" height="34" alt="Deprecated"/> <img src="...repo/status-deprecated-wide.svg" width="290" height="34" alt="Deprecated"/>
Archived <img src="...repo/status-archived.svg" width="220" height="34" alt="Archived"/> <img src="...repo/status-archived-wide.svg" width="290" height="34" alt="Archived"/>

License

Badge Standard Wide
MIT <img src="...repo/license-mit.svg" width="220" height="34" alt="MIT"/> <img src="...repo/license-mit-wide.svg" width="290" height="34" alt="MIT"/>
Apache 2.0 <img src="...repo/license-apache2.svg" width="220" height="34" alt="Apache 2.0"/> <img src="...repo/license-apache2-wide.svg" width="290" height="34" alt="Apache 2.0"/>
GPL 3.0 <img src="...repo/license-gpl3.svg" width="220" height="34" alt="GPL 3.0"/> <img src="...repo/license-gpl3-wide.svg" width="290" height="34" alt="GPL 3.0"/>
BSL 1.1 <img src="...repo/license-bsl.svg" width="220" height="34" alt="BSL 1.1"/> <img src="...repo/license-bsl-wide.svg" width="290" height="34" alt="BSL 1.1"/>
Proprietary <img src="...repo/license-proprietary.svg" width="220" height="34" alt="Proprietary"/> <img src="...repo/license-proprietary-wide.svg" width="290" height="34" alt="Proprietary"/>

Build

Badge Standard Wide
Passing <img src="...repo/build-passing.svg" width="220" height="34" alt="Build Passing"/> <img src="...repo/build-passing-wide.svg" width="290" height="34" alt="Build Passing"/>
Failing <img src="...repo/build-failing.svg" width="220" height="34" alt="Build Failing"/> <img src="...repo/build-failing-wide.svg" width="290" height="34" alt="Build Failing"/>
Pending <img src="...repo/build-pending.svg" width="220" height="34" alt="Build Pending"/> <img src="...repo/build-pending-wide.svg" width="290" height="34" alt="Build Pending"/>

Security

Badge Standard Wide
Post-Quantum <img src="...repo/security-pq.svg" width="220" height="34" alt="Post-Quantum"/> <img src="...repo/security-pq-wide.svg" width="290" height="34" alt="Post-Quantum"/>
E2E Encrypted <img src="...repo/security-encrypted.svg" width="220" height="34" alt="Encrypted"/> <img src="...repo/security-encrypted-wide.svg" width="290" height="34" alt="Encrypted"/>
Audited <img src="...repo/security-audited.svg" width="220" height="34" alt="Audited"/> <img src="...repo/security-audited-wide.svg" width="290" height="34" alt="Audited"/>
CVE Free <img src="...repo/security-cve-free.svg" width="220" height="34" alt="CVE Free"/> <img src="...repo/security-cve-free-wide.svg" width="290" height="34" alt="CVE Free"/>

Contributions

Badge Standard Wide
PRs Welcome <img src="...repo/contrib-welcome.svg" width="220" height="34" alt="PRs Welcome"/> <img src="...repo/contrib-welcome-wide.svg" width="290" height="34" alt="PRs Welcome"/>
Seeking Contribs <img src="...repo/contrib-seeking.svg" width="220" height="34" alt="Seeking Contributors"/> <img src="...repo/contrib-seeking-wide.svg" width="290" height="34" alt="Seeking Contributors"/>
Closed <img src="...repo/contrib-closed.svg" width="220" height="34" alt="Closed"/> <img src="...repo/contrib-closed-wide.svg" width="290" height="34" alt="Closed"/>

Version

Badge Standard Wide
Alpha <img src="...repo/version-alpha.svg" width="220" height="34" alt="Alpha"/> <img src="...repo/version-alpha-wide.svg" width="290" height="34" alt="Alpha"/>
Beta <img src="...repo/version-beta.svg" width="220" height="34" alt="Beta"/> <img src="...repo/version-beta-wide.svg" width="290" height="34" alt="Beta"/>
Release Candidate <img src="...repo/version-rc.svg" width="220" height="34" alt="RC"/> <img src="...repo/version-rc-wide.svg" width="290" height="34" alt="RC"/>
Stable <img src="...repo/version-stable.svg" width="220" height="34" alt="Stable"/> <img src="...repo/version-stable-wide.svg" width="290" height="34" alt="Stable"/>

Language / Platform

Badge Standard Wide
Python <img src="...repo/lang-python.svg" width="220" height="34" alt="Python"/> <img src="...repo/lang-python-wide.svg" width="290" height="34" alt="Python"/>
Go <img src="...repo/lang-go.svg" width="220" height="34" alt="Go"/> <img src="...repo/lang-go-wide.svg" width="290" height="34" alt="Go"/>
Rust <img src="...repo/lang-rust.svg" width="220" height="34" alt="Rust"/> <img src="...repo/lang-rust-wide.svg" width="290" height="34" alt="Rust"/>
Node.js <img src="...repo/lang-nodejs.svg" width="220" height="34" alt="Node.js"/> <img src="...repo/lang-nodejs-wide.svg" width="290" height="34" alt="Node.js"/>
C / C++ <img src="...repo/lang-c.svg" width="220" height="34" alt="C/C++"/> <img src="...repo/lang-c-wide.svg" width="290" height="34" alt="C/C++"/>
Linux <img src="...repo/platform-linux.svg" width="220" height="34" alt="Linux"/> <img src="...repo/platform-linux-wide.svg" width="290" height="34" alt="Linux"/>
WebAssembly <img src="...repo/platform-wasm.svg" width="220" height="34" alt="WebAssembly"/> <img src="...repo/platform-wasm-wide.svg" width="290" height="34" alt="WebAssembly"/>
FPGA / ASIC <img src="...repo/platform-fpga.svg" width="220" height="34" alt="FPGA/ASIC"/> <img src="...repo/platform-fpga-wide.svg" width="290" height="34" alt="FPGA/ASIC"/>

4 · Standalone Status Badges

Path: .github/profile/assets/badges/status/

Slug Use Case
status-passing CI / test passing
status-failing CI / test failing
status-pending CI pending / queued
status-building Currently building
status-alpha / status-beta / status-stable Release maturity
status-deprecated / status-archived End-of-life
status-maintained / status-wip Maintenance state
pq-ready Post-quantum crypto
security General security notice
open-source OSS badge
license-mit / license-apache / license-prop License short-form
sponsor Sponsorship CTA
docs Docs available
contributing Contributions open
downloads / coverage Metrics
version-release / version-prerelease Release channel
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/status/pq-ready.svg" width="220" height="34" alt="PQ Ready"/>

Quick Copy — Full Repo Badge Row

<div align="center">

<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/status-stable.svg" width="220" height="34" alt="Stable"/>
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/license-mit.svg" width="220" height="34" alt="MIT"/>
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/security-pq.svg" width="220" height="34" alt="Post-Quantum"/>
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/security-encrypted.svg" width="220" height="34" alt="Encrypted"/>
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/build-passing.svg" width="220" height="34" alt="Build Passing"/>
<img src="https://raw.githubusercontent.com/dubzrn/glitch-badges/main/.github/profile/assets/badges/repo/contrib-welcome.svg" width="220" height="34" alt="PRs Welcome"/>

</div>

Deployment Layout

.github/profile/assets/badges/
├── social/    ← 31 SVGs  (standard + -wide variants)
├── comms/     ← 36 SVGs  (standard + -wide variants)
├── repo/      ← 66 SVGs  (standard + -wide variants)
└── status/    ← 24 SVGs  (standalone, no wide variant)

Publishing / Registry Status

Registry Package Status
npm glitch-badges npm
PyPI glitch-badges Published on tag push via publish-pypi.yml
crates.io glitch-badges Published on tag push via publish-crates.yml

To release a new version:

  1. Bump version in packages/js/package.json, packages/py/pyproject.toml, packages/rs/Cargo.toml
  2. Update CHANGELOG.md
  3. Push a v<semver> tag — CI handles the rest

Contributing

See CONTRIBUTING.md.

License

Copyright (c) 2026 VLABS, LLC. All rights reserved.
VRIL LABS Open Source License v1.0vril.li/license.


133 Badges · 4 Collections · Animated SVGs · 0 Dependencies · GitHub-ready
Built by VRIL LABS · Encrypting the future

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glitch_badges-1.0.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glitch_badges-1.0.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file glitch_badges-1.0.0.tar.gz.

File metadata

  • Download URL: glitch_badges-1.0.0.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for glitch_badges-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bedb3c0262128e4235d5fbddc1619a80e591622c741d81d0d9da9c881cf8bcd6
MD5 9c67fd64273797165ed4b548d524d217
BLAKE2b-256 ef1370705c8d028285aa11676636f18afe0800f5e66f2dc6d6a6a9ab07f714f2

See more details on using hashes here.

File details

Details for the file glitch_badges-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: glitch_badges-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for glitch_badges-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05584eb682b6f5515ae48910348a635b36ee3c124a33f1c1dbfd0da555c1917e
MD5 0e1de0fa1c34cf2314b9e68daba32b9a
BLAKE2b-256 bca1f7b112d49e6ed8a6afa7db3e1f9a8f6fd74adfcc30dab7bded767b956273

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page