Skip to content
pixel-art-scaler logo

Pixel Art Scaler

pixel-art-scaler

Deterministic pixel art upscaling using EPX/Scale2x, hq2x/hq4x, and xBR algorithms that add valid sub-pixels through pattern recognition. Activate on 'pixel art scaling', 'EPX', 'Scale2x',

SKILL.md

Full skill instructions

Pixel Art Scaler

Deterministic algorithms for upscaling pixel art that preserve aesthetics by adding valid sub-pixels through edge detection and pattern matching.

When to Use

✅ Use for:

  • Upscaling retro game sprites, icons, and pixel art
  • 2x, 3x, 4x scaling with edge-aware interpolation
  • Preserving sharp pixel art aesthetic at higher resolutions
  • Converting 8x8, 16x16, 32x32, 48x48 pixel art for retina displays
  • Comparing deterministic vs AI/​ML approaches

❌ NOT for:

  • Photographs or realistic images (use AI super-resolution)
  • Simple geometric scaling (use nearest-neighbor)
  • Vector art (use SVG)
  • Text rendering (use font hinting)
  • Arbitrary non-integer scaling (algorithms work best at 2x, 3x, 4x)

Core Algorithms

1. EPX/​Scale2x (Fastest, Good Quality)

Best for: Quick iteration, 2x/​3x scaling, transparent sprites

How it works:

  • Examines each pixel and its 4 cardinal neighbors (N, S, E, W)
  • Expands 1 pixel → 4 pixels (2x) or 9 pixels (3x) using edge detection
  • Only uses colors from original palette (no new colors)
  • Handles transparency correctly

When to use:

  • Need fast processing (100+ icons)
  • Want crisp edges with no anti-aliasing
  • Source has clean pixel boundaries
  • Transparency preservation is critical

Timeline: Invented by Eric Johnston at LucasArts (~1992), rediscovered by Andrea Mazzoleni (2001)

2. hq2x/​hq3x/​hq4x (High Quality, Slower)

Best for: Final renders, complex sprites, smooth gradients

How it works:

  • Pattern matching on 3x3 neighborhoods (256 possible patterns)
  • YUV color space thresholds for edge detection
  • Sophisticated interpolation rules per pattern
  • Produces smooth, anti-aliased edges

When to use:

  • Final production assets
  • Source has gradients or dithering
  • Want smooth, anti-aliased results
  • Processing time is acceptable (~5-10x slower than EPX)

Timeline: Developed by Maxim Stepin for emulators (2003)

3. xBR/​Super-xBR (Highest Quality, Slowest)

Best for: Hero assets, promotional materials, detailed sprites

How it works:

  • Advanced edge detection with weighted blending
  • Multiple passes for smoother results (Super-xBR)
  • Preserves fine details while smoothing edges
  • Best anti-aliasing of the three algorithms

When to use:

  • Maximum quality needed
  • Complex sprites with fine details
  • Marketing/​promotional use
  • Time is not a constraint (~20x slower than EPX)

Timeline: xBR by Hyllian (2011), Super-xBR (2015)

Anti-Patterns

Anti-Pattern: Nearest-Neighbor for Display

Novice thinking: "Just use nearest-neighbor 4x, it preserves pixels"

Reality: Nearest-neighbor creates blocky repetition without adding detail. Each pixel becomes NxN identical blocks, which looks crude on high-DPI displays.

What deterministic algorithms do: Add valid sub-pixels through pattern recognition - a diagonal edge gets anti-aliased pixels, straight edges stay crisp.

Timeline:

  • Pre-2000s: Nearest-neighbor was only option
  • 2001+: EPX/​Scale2x enabled smart 2x scaling
  • 2003+: hq2x added sophisticated pattern matching
  • 2011+: xBR became state-of-the-art

When nearest-neighbor IS correct: Viewing pixel art at exact integer multiples in pixel-perfect contexts (e.g., 1:1 reference images).

Anti-Pattern: Using AI/​ML for Pixel Art

Novice thinking: "Real-ESRGAN / Waifu2x will give better results"

Reality: AI models trained on photos/​anime add inappropriate detail to pixel art. They invent textures and smooth edges that shouldn't exist, destroying the intentional pixel-level decisions.

LLM mistake: Training data includes "upscaling = use AI models" advice from photo editing contexts.

Correct approach:

Source TypeAlgorithm
Pixel art (sprites, icons)EPX/​hq2x/​xBR (this skill)
Pixel art photos (screenshots)Hybrid: xBR first, then light AI
Photos/​realistic artAI super-resolution
Mixed contentTest both, compare results

Anti-Pattern: Wrong Algorithm for Context

Novice thinking: "Always use the highest quality algorithm"

Reality: Different algorithms serve different purposes:

ContextAlgorithmWhy
Iteration/​prototypingEPX10x faster, good enough
Production assets (web)hq2xBalance of quality/​size
Hero images (marketing)xBRMaximum quality
Transparent spritesEPXBest transparency handling
Complex gradientshq4xBest gradient interpolation

Validation: Always compare outputs visually - sometimes EPX 2x looks better than hq4x!

Usage

Quick Start

# Install dependencies
cd ~/​.claude/​skills/​pixel-art-scaler/​scripts
pip install Pillow numpy

# Scale a single icon with EPX 2x (fastest)
python3 scale_epx.py input.png output.png --scale 2

# Scale with hq2x (high quality)
python3 scale_hqx.py input.png output.png --scale 2

# Scale with xBR (maximum quality)
python3 scale_xbr.py input.png output.png --scale 2

# Batch process directory
python3 batch_scale.py input_dir/ output_dir/ --algorithm epx --scale 2

# Compare all algorithms side-by-side
python3 compare_algorithms.py input.png output_comparison.html

Algorithm Selection Guide

Decision tree:

Need to scale pixel art?
├── Transparency important? → EPX
├── Fast iteration needed? → EPX
├── Complex gradients/​dithering? → hq2x or hq4x
├── Maximum quality for hero asset? → xBR
└── Not sure? → Run compare_algorithms.py

Typical Workflow

  1. Prototype with EPX 2x: Process all assets quickly
  2. Review results: Identify which need higher quality
  3. Re-process heroes with hq4x or xBR: Apply to key assets only
  4. Compare outputs: Use compare_algorithms.py for side-by-side
  5. Optimize: Sometimes 2x looks better than 4x (test both)

Scripts Reference

All scripts in scripts/ directory:

ScriptPurposeSpeedQuality
scale_epx.pyEPX/​Scale2x implementationFastGood
scale_hqx.pyhq2x/​hq3x/​hq4x implementationMediumGreat
scale_xbr.pyxBR/​Super-xBR implementationSlowBest
batch_scale.pyProcess directoriesVariesVaries
compare_algorithms.pyGenerate comparison HTMLN/​AN/​A

Each script includes:

  • CLI interface with --help
  • Transparency preservation
  • Error handling for corrupted inputs
  • Progress indicators for batch operations

Technical Details

Color Space Considerations

EPX: Works in RGB, binary edge detection hq2x/​hq4x: Uses YUV color space with thresholds (Y=48, Cb=7, Cr=6) xBR: Advanced edge weighting in RGB with luminance consideration

Transparency Handling

All algorithms preserve alpha channel:

  • Transparent pixels don't influence edge detection
  • Semi-transparent pixels are handled correctly
  • Output maintains RGBA format if input has alpha

Performance Benchmarks (M4 Max, 48x48 input)

AlgorithmTime (1 image)Batch (100 images)
EPX 2x0.01s1s
EPX 3x0.02s2s
hq2x0.10s10s
hq4x0.30s30s
xBR 2x0.15s15s
xBR 4x0.50s50s

Rule of thumb: EPX is ~10x faster than hq2x, ~20x faster than xBR

Output Validation

After scaling, verify results:

# Check output dimensions
identify output.png  # Should be exactly 2x, 3x, or 4x input

# Visual inspection
open output.png  # Look for artifacts, incorrect edges

# Compare algorithms
python3 compare_algorithms.py input.png comparison.html
open comparison.html  # Side-by-side comparison

Common issues:

  • Jagged diagonals → Try hq2x or xBR instead of EPX
  • Blurry edges → Check if input was already scaled (apply to original)
  • Wrong colors → Verify input is RGB/​RGBA (not indexed/​paletted PNG)

References

Deep Dives

  • /​references/​algorithm-comparison.md - Visual examples and trade-offs
  • /​references/​epx-algorithm.md - EPX/​Scale2x implementation details
  • /​references/​hqx-patterns.md - hq2x pattern matching table explanation
  • /​references/​xbr-edge-detection.md - xBR edge weighting formulas

Research Papers & Sources

Example Assets

  • /​assets/​test-sprites/ - Sample sprites for testing algorithms
  • /​assets/​expected-outputs/ - Reference outputs for validation

Changelog

  • 2026-02-05: Initial skill creation with EPX, hq2x, xBR implementations

More skills from curiositech

cost-accrual-tracker logo
curiositech/some_claude_skills

cost-accrual-tracker

Track real-time API cost accrual during LLM execution. Activate on 'cost tracking', 'token usage', 'API costs', 'budget monitoring', 'usage metrics'. NOT for cost estimation, pricing tiers,

242 0
View
openapi-spec-writer logo
curiositech/some_claude_skills

openapi-spec-writer

Expert in writing OpenAPI 3.0/3.1 specifications for REST APIs. Specializes in schema design, documentation best practices, API-first development, and tooling integration. Generates comprehensive

242 0
View
websocket-streaming logo
curiositech/some_claude_skills

websocket-streaming

Implements real-time bidirectional communication between DAG execution engines and visualization dashboards via WebSocket. Covers connection management, typed event protocols, reconnection

242 0
View
windows-3-1-web-designer logo
curiositech/some_claude_skills

windows-3-1-web-designer

Modern web applications with authentic Windows 3.1 aesthetic. Solid navy title bars, Program Manager navigation, beveled borders, single window controls. Extrapolates Win31 to AI chatbots (Cue

242 0
View
drone-cv-expert logo
curiositech/some_claude_skills

drone-cv-expert

Expert in drone systems, computer vision, and autonomous navigation. Specializes in flight control, SLAM, object detection, sensor fusion, and path planning. Activate on "drone", "UAV", "SLAM",

242 0
View
logging-observability logo
curiositech/some_claude_skills

logging-observability

Structured logging, distributed tracing, and metrics for production applications. [What: OpenTelemetry setup, log level strategy, correlation IDs, SLI/SLO alerting thresholds, Grafana dashboard

242 0
View
form-validation-architect logo
curiositech/some_claude_skills

form-validation-architect

End-to-end form handling with react-hook-form, Zod schemas, validation patterns, error messaging, field arrays, and multi-step wizards. Use for complex forms, validation architecture, autosave,

242 0
View
code-review-checklist logo
curiositech/some_claude_skills

code-review-checklist

Generate context-aware code review checklists from PR diffs — tailored to language, codebase patterns, and team standards. Identifies what reviewers should focus on. NOT for automated code

242 0
View
recursive-synthesis logo
curiositech/some_claude_skills

recursive-synthesis

Orchestrate multi-agent collaborative document synthesis through 6 phases - Divergence, Synthesis, Commentary, Consolidation, Reality Check, Final Merge. Produces authoritative founding documents

242 0
View
sobriety-tools-guardian logo
curiositech/some_claude_skills

sobriety-tools-guardian

Performance optimization and continuous improvement for sobriety.tools recovery app. Use for load time optimization, offline capability, crisis detection, performance monitoring, automated

242 0
View
skill-coach logo
curiositech/some_claude_skills

skill-coach

Guides creation of high-quality Agent Skills with domain expertise, anti-pattern detection, and progressive disclosure best practices. Use when creating skills, reviewing existing skills, or when users mention improving skill quality, encoding expertise, or avoiding common AI tooling mistakes. Ac...

242 0
View
postgresql-optimization logo
curiositech/some_claude_skills

postgresql-optimization

Expert in PostgreSQL performance tuning, query optimization, and database administration. Specializes in EXPLAIN analysis, indexing strategies, connection pooling, partitioning, and production-grade

242 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View