Overview
hexmakR is an interactive hex sticker generator for R packages. Design publication-ready hexagon stickers visually through a Shiny app or programmatically via R functions. Comes with 19 curated color themes (dark + light), 46 built-in scientific and technical icons, custom image support, font selection, and transparent PNG export.
Standing on the shoulders of hexSticker
The excellent hexSticker package by Guangchuang Yu is the original and most widely used hex sticker generator in the R ecosystem. Available on CRAN, it provides a powerful programmatic API built on ggplot2 that lets you embed any R plot, lattice graphic, ggplot, or image file into a hex sticker — and hundreds of R package stickers have been created with it.
hexmakR is not a replacement for hexSticker — it is a complement. If you want to embed an actual R plot (base, lattice, or ggplot2) into your sticker, hexSticker is the right tool. It excels at code-first, reproducible sticker generation with full control over subplot positioning.
hexmakR fills a different niche. It focuses on:
- Interactive visual design — a Shiny app where you see changes live and export when you’re happy, no code required
- A curated theme library — 19 domain-specific color palettes (Statistics, Bioinformatics, Genomics, Pharma, CRAN, Bioconductor, Tidyverse, and more) with one-click dark/light switching
- A built-in icon library — 46 hand-drawn scientific and technical icons across 7 categories, so you don’t need external image files
- Font selection — choose from 13 fonts with bold/italic toggles directly in the UI
- Zero-to-sticker speed — designed for the case where you want a good-looking hex sticker in under a minute without writing any code
We recommend trying both and using whichever fits your workflow. For many users, the best approach is to prototype in hexmakR’s Shiny app and then fine-tune programmatically — with either package.
Installation
# CRAN
install.packages("hexmakR")
# Development version
# install.packages("pak")
pak::pak("r-heller/hexmakR")Quick Start
library(hexmakR)
# Three lines to a sticker
hex_sticker("mypackage", icon = "dna", theme = "genomics",
filename = "man/figures/logo.png")Shiny App
The Shiny designer opens in your browser with live preview. Adjust text, pick an icon, choose a theme, and hit Export PNG when you’re happy.
Feature Comparison
| Feature | hexSticker | hexmakR |
|---|---|---|
| Embed R plots (base/lattice/ggplot2) | ✅ | — |
| Interactive Shiny designer | — | ✅ |
| Built-in icon library (46 icons) | — | ✅ |
| Curated theme presets (19 themes) | — | ✅ |
| Dark/light mode toggle | — | ✅ |
| Custom image upload | ✅ | ✅ |
| Font selection UI | — | ✅ |
| Google Fonts support | ✅ | — |
| Programmatic API | ✅ | ✅ |
| Returns ggplot object | ✅ | ✅ |
| CRAN available | ✅ | ✅ |
Available Themes
| Key | Label |
|---|---|
stats |
Statistics |
viz |
Data Visualization |
bio |
Biology |
medical |
Medical |
tech |
Technology |
earth |
Earth Sciences |
cran |
CRAN |
bioc |
Bioconductor |
tidy |
Tidyverse |
genomics |
Genomics |
proteo |
Proteomics |
pharma |
Pharma |
ocean |
Ocean |
midnight |
Midnight |
cyber |
Cyberpunk |
neon |
Neon |
sunset |
Sunset |
viridis |
Viridis |
plasma |
Plasma |
Each theme has both dark and light variants.
Available Icons
| Category | Count | Icons |
|---|---|---|
science |
5 | atom, flask, microscope, molecule, magnet |
biology |
6 | dna, cell, brain, leaf, bacteria, tree |
stats |
8 | bar_chart, scatter, line_chart, bell_curve, pie, sigma, boxplot, network |
medical |
6 | stethoscope, heart, pulse, pill, cross, syringe |
tech |
6 | terminal, brackets, gear, database, hash, rlogo |
shapes |
7 | star, shield, diamond, hexagon, infinity, arrow_up, circle |
fun |
8 | rocket, lightning, fire, sparkle, crown, coffee, music, gamepad |
Contributing
Contributions are welcome! Please open an issue first to discuss major changes at github.com/r-heller/hexmakR/issues.
Code of Conduct
Please note that the hexmakR project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Acknowledgements
hexmakR was inspired by the pioneering work of the hexSticker package. We are grateful to Guangchuang Yu and all contributors for establishing hex stickers as a staple of R package identity.