Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
zc277584121 avatar

Mermaid To Gif

  • 2.8k installs
  • Updated July 30, 2026
  • zc277584121/marketing-skills

mermaid-to-gif is an agent skill that Convert Mermaid code blocks in .mmd or .md files to animated GIFs with customizable animation styles (progressive, highl.

About

Convert Mermaid diagrams into animated GIFs with rich animation effects Supports mmd files and extracting mermaid code blocks from md files Prerequisites FFmpeg Python 3 8 Playwright pip install playwright playwright install chromium The user wants to convert Mermaid diagrams to animated GIFs The user has mmd files or md files containing mermaid code blocks The user needs animated visuals for presentations documentation or social media The user wants to batch convert all mermaid blocks in a document IMPORTANT When converting mermaid blocks from md files read the surrounding markdown context to choose the most appropriate animation style for each diagram Do NOT blindly apply the same style to all blocks 1 Read the markdown text around each mermaid block understand what the diagram is illustrating 2 Match the style to the semantic meaning

  • description: Convert Mermaid code blocks in .mmd or .md files to animated GIFs with customizable animation styles (progr
  • Convert Mermaid diagrams into animated GIFs with rich animation effects. Supports `.mmd` files and extracting ` ```merma
  • > **Prerequisites**: FFmpeg, Python 3.8+, Playwright (`pip install playwright && playwright install chromium`)
  • Follow mermaid-to-gif SKILL.md steps and documented constraints.
  • Follow mermaid-to-gif SKILL.md steps and documented constraints.

Mermaid To Gif by the numbers

  • 2,795 all-time installs (skills.sh)
  • +218 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #283 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

mermaid-to-gif capabilities & compatibility

Capabilities
description: convert mermaid code blocks in .mmd · convert mermaid diagrams into animated gifs with · > **prerequisites**: ffmpeg, python 3.8+, playwr · follow mermaid to gif skill.md steps and documen
Use cases
orchestration
From the docs

What mermaid-to-gif says it does

description: Convert Mermaid code blocks in .mmd or .md files to animated GIFs with customizable animation styles (progressive, highlight walk, pulse flow, wave).
SKILL.md
Convert Mermaid diagrams into animated GIFs with rich animation effects. Supports `.mmd` files and extracting ` ```mermaid ` code blocks from `.md` files.
SKILL.md
> **Prerequisites**: FFmpeg, Python 3.8+, Playwright (`pip install playwright && playwright install chromium`)
SKILL.md
npx skills add https://github.com/zc277584121/marketing-skills --skill mermaid-to-gif

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2.8k
Security audit2 / 3 scanners passed
Last updatedJuly 30, 2026
Repositoryzc277584121/marketing-skills

When should an agent use mermaid-to-gif and what problem does it solve?

Convert Mermaid code blocks in .mmd or .md files to animated GIFs with customizable animation styles (progressive, highlight walk, pulse flow, wave).

Who is it for?

Developers invoking mermaid-to-gif as documented in the skill source.

Skip if: Skip when requirements fall outside mermaid-to-gif documented scope.

When should I use this skill?

Convert Mermaid code blocks in .mmd or .md files to animated GIFs with customizable animation styles (progressive, highlight walk, pulse flow, wave).

What you get

Outputs aligned with the mermaid-to-gif SKILL.md workflow and stated deliverables.

  • Animated GIF file
  • Frame capture sequence
  • Styled diagram export

By the numbers

  • Uses a 4-stage pipeline: Mermaid, HTML animation, Playwright capture, FFmpeg GIF

Files

SKILL.mdMarkdownGitHub ↗

Skill: Mermaid to GIF

Convert Mermaid diagrams into animated GIFs with rich animation effects. Supports .mmd files and extracting `mermaid code blocks from .md files.

Prerequisites: FFmpeg, Python 3.8+, Playwright (pip install playwright && playwright install chromium)

---

When to Use

  • The user wants to convert Mermaid diagrams to animated GIFs
  • The user has .mmd files or .md files containing mermaid code blocks
  • The user needs animated visuals for presentations, documentation, or social media
  • The user wants to batch-convert all mermaid blocks in a document

---

Context-Aware Style Selection

IMPORTANT: When converting mermaid blocks from .md files, read the surrounding markdown context to choose the most appropriate animation style for each diagram. Do NOT blindly apply the same style to all blocks.

Decision Guide

1. Read the markdown text around each mermaid block — understand what the diagram is illustrating 2. Match the style to the semantic meaning:

Context ClueRecommended StyleReasoning
Data pipeline, ETL flow, request/response pathpulse-flowFlowing dashed lines convey data movement
Architecture layers, org chart, hierarchyprogressiveElements activate layer-by-layer
Step-by-step process, tutorial walkthroughhighlight-walkSpotlight guides the reader through each step
System overview, title diagram, simple referencewaveBrightness ripple adds life without distraction
Sequence diagram with message flowprogressiveMessages activate one by one in conversation order
Class/ER diagram (reference/static)progressive or waveStructure lights up or gets a subtle ripple

3. Consider special handling:

  • If the surrounding text says "data flows from A to B", use pulse-flow even for a simple flowchart
  • If the text describes "three layers" or "two tiers", use progressive to activate layer-by-layer
  • If the diagram is decorative or supplementary, use wave to keep it simple
  • For very large or complex diagrams, prefer wave or shorter --duration to keep GIF size reasonable

4. Per-block style override: When batch-processing a .md file, you may need to run the script multiple times with different styles, extracting specific blocks. Or process the whole file with a sensible default and re-run individual blocks that need different treatment.

Example: Context-Aware Processing

## Data Ingestion Pipeline        ← context: "pipeline" → pulse-flow
[mermaid block: graph LR with ETL stages]

## System Architecture            ← context: "architecture" → progressive
[mermaid block: graph TD with layers]

## Quick Reference                ← context: "reference" → wave
[mermaid block: simple diagram]

---

Default Workflow

Single .mmd file

python <skill-root>/scripts/mermaid_to_gif.py diagram.mmd

Markdown file with mermaid blocks

python <skill-root>/scripts/mermaid_to_gif.py document.md -o ./images/

This extracts all `mermaid code blocks and generates one GIF per block.

Multiple files

python <skill-root>/scripts/mermaid_to_gif.py *.mmd -o ./gifs/
python <skill-root>/scripts/mermaid_to_gif.py doc1.md doc2.md -o ./gifs/

Replacing mermaid blocks in markdown

After generating GIFs, replace the original `mermaid code blocks with image references:

![Flow Diagram](images/document-1.gif)

Use descriptive alt text based on the diagram content. The image path should be relative to the markdown file.

---

Animation Styles

All styles keep the diagram fully visible from frame 1 — no elements start hidden or fade in from zero. Every style adds motion while the user can see the complete diagram structure at all times.

StyleEffectBest For
progressive (default)All elements start dimmed (25% opacity), activate sequentially to full brightness; edges draw in with stroke animationFlowcharts, architecture, hierarchy
highlight-walkAll elements start dimmed (15%); a spotlight with blue glow moves through each element, leaving visited ones brightStep-by-step process, tutorials
pulse-flowAll elements fully visible; edges become flowing dashed lines (uniform dash size and speed)Data flow, pipelines, request paths
waveAll elements fully visible; a brightness pulse + blue glow ripple sweeps through elements sequentiallySimple diagrams, overviews, reference

Animation Details

  • progressive: Elements start at 25% opacity (diagram structure always visible). Nodes, edges, and labels activate in interleaved order (node → edge → node → edge) following flow direction. Edges use stroke-dashoffset to draw in visually. Activation is fast (8% of total duration per element).
  • highlight-walk: All elements start at 15% opacity. A spotlight (with blue glow) moves through elements in order, leaving visited elements at 90% opacity. The whole diagram is visible as a "ghost" before the spotlight reaches each element.
  • pulse-flow: All elements at full opacity. Edge paths get a uniform dashed pattern (10px dash + 6px gap) that flows at a fixed speed (200px/cycle), so all edges animate at the same pace regardless of length.
  • wave: All elements at full opacity. A brightness pulse (1.0→1.4→1.0) with blue glow sweeps through elements sequentially. No position changes — purely a visual ripple effect.

---

Common Options

FlagDefaultDescription
-o, --output-dirSame as inputOutput directory for generated GIFs
-s, --styleprogressiveAnimation style (see table above)
--fps10Frames per second
--duration4.0Animation duration in seconds
--hold1.0Hold last frame before looping (seconds)
--themedefaultMermaid theme: default, dark, forest, neutral
--bg#ffffffBackground color (hex)
--padding40Padding around diagram in pixels
--scale2Render scale factor (2 = retina quality)
--custom-cssPath to custom CSS file
--no-loopPlay GIF once instead of looping

---

Examples

# Dark theme with faster animation
python <skill-root>/scripts/mermaid_to_gif.py arch.mmd --theme dark --bg "#1a1a2e" --duration 3

# High FPS for smoother animation
python <skill-root>/scripts/mermaid_to_gif.py flow.mmd --fps 15 --duration 5

# Batch convert all mermaid blocks from a doc
python <skill-root>/scripts/mermaid_to_gif.py README.md -o ./images/

# Custom CSS for special effects
python <skill-root>/scripts/mermaid_to_gif.py diagram.mmd --custom-css my-style.css

# No loop, suitable for one-time playback
python <skill-root>/scripts/mermaid_to_gif.py intro.mmd --no-loop --duration 6

# Lower resolution for smaller file size
python <skill-root>/scripts/mermaid_to_gif.py diagram.mmd --scale 1

---

Custom CSS

Create a CSS file to customize the appearance of the diagram during animation:

/* Rounded nodes with shadow */
.node rect {
    rx: 10;
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
}

/* Thicker edge lines */
.edgePath path {
    stroke-width: 2.5;
}

/* Custom background for actors (sequence diagram) */
.actor {
    fill: #e8f4f8;
}

Pass it via --custom-css:

python <skill-root>/scripts/mermaid_to_gif.py diagram.mmd --custom-css my-style.css

---

How It Works

1. Parse input — extract Mermaid code from .mmd or .md files 2. Generate HTML — embed Mermaid.js (CDN) + animation JS/CSS in a self-contained HTML file 3. Render — Mermaid.js renders the diagram to SVG in headless Chromium via Playwright (with 2x device scale for retina quality) 4. Scale — small SVGs are automatically scaled up to minimum 700px CSS width for readability 5. Animate — JS animation engine exposes setProgress(t) for frame-by-frame control (t: 0→1). Elements are collected, sorted by position (respecting LR/TB direction), and animated in interleaved node-edge order 6. Capture — Playwright takes a screenshot at each frame step 7. Assemble — FFmpeg two-pass palette encoding (palettegen → paletteuse with Floyd-Steinberg dithering)

---

Important Notes

  • Internet required: Mermaid.js is loaded from CDN at render time
  • Supported diagram types: flowchart, sequence, class, state, ER, gitgraph, mindmap, pie, gantt, and more
  • No hidden elements: all 4 styles keep the diagram visible from frame 1 — no waiting for elements to appear
  • Fallback behavior: for unrecognized diagram types or when no animatable elements are detected, falls back to a whole-diagram opacity reveal
  • Resolution: default scale=2 produces retina-quality images (~1400-1600px wide). Use --scale 1 for smaller files
  • GIF size: for very large outputs, reduce FPS to 8, shorten duration, use --scale 1, or use wave style

Related skills

How it compares

Choose mermaid-to-gif for automated animated exports; use static Mermaid renderers when motion is unnecessary.

FAQ

What is mermaid-to-gif?

Convert Mermaid code blocks in .mmd or .md files to animated GIFs with customizable animation styles (progressive, highlight walk, pulse flow, wave).

When should I use mermaid-to-gif?

Convert Mermaid code blocks in .mmd or .md files to animated GIFs with customizable animation styles (progressive, highlight walk, pulse flow, wave).

Is mermaid-to-gif safe to install?

Review the Security Audits panel on this page before production use.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.