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.
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.
# CRAN
install.packages("hexmakR")
# Development version
# install.packages("pak")
pak::pak("r-heller/hexmakR")library(hexmakR)
# Three lines to a sticker
hex_sticker("mypackage", icon = "dna", theme = "genomics",
filename = "man/figures/logo.png")hexmakr_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 | 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 | ✅ | ✅ |
| 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.
| 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 |
Contributions are welcome! Please open an issue first to discuss major changes at github.com/r-heller/hexmakR/issues.
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.
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.