Stop pressing Alt+Cmd — copy any symbol instantly.
Every symbol, character, LaTeX command, and OS shortcut — one click away.
🇬🇧 English · 🇪🇸 Español
🌐 Live Demo · Features · Getting Started · Contributing
- Special Characters — 200+ Unicode symbols across 7 categories: Math, Greek, Arrows, Punctuation, Currency, Accents, Misc
- Greek Alphabet — Uppercase + lowercase letters, plus common math variants (ϕ, ϑ, …)
- LaTeX Commands — 100+ commands rendered live with KaTeX: Operators, Relations, Greek, Calculus, Formatting, Matrices
- OS Shortcuts — 120+ keyboard shortcuts for macOS (⌥ Option, dead keys) and Windows (Alt codes, Ctrl+Alt)
- Emojis & Flags — A curated emoji + flags section with keywords
- Regex Sedum — Common regular expressions for programmers: validation, extraction, and cleanup patterns
- AI Prompts — Copy-paste prompt templates and tool-calling snippets
- Global Search — Instant search across all datasets simultaneously
- 🌑 Dark Mode first — edujbarrios.com Turqonix palette (surface
#1b1b1d, primary#40E0D0, secondary#66E6DD) - ⌨ Visual key badges — keyboard shortcuts rendered as physical keys
- 📋 One click to copy — character, HTML entity, LaTeX command, or expression
- 💡 Dead-key hints — explains Mac accent sequences (⌥E → A = á)
- 🔍 Per-section search + global search dropdown with grouped results
# Clone
git clone https://github.com/edujbarrios/specialkeys.git
cd specialkeys
# Install
npm install
# Dev server
npm run devOpen http://localhost:3000.
app/
├── layout.tsx # Root layout + metadata
├── page.tsx # Main page — hero + all sections
└── globals.css # Tailwind + KaTeX + custom properties
components/
├── GlobalSearch.tsx # Cross-dataset search dropdown
├── Header.tsx # Sticky nav
├── TabBar.tsx # Reusable category tab bar
├── SearchBar.tsx # Per-section search input
├── CharCard.tsx # Special character card
├── GreekLetterCard.tsx
├── LatexCard.tsx # LaTeX command card with KaTeX render
├── RegexCard.tsx # Regular expression pattern card
├── KeyBadge.tsx # Visual keyboard key badge
├── PromptCard.tsx
├── ShortcutCard.tsx # OS shortcut card
├── SpecialCharsSection.tsx
├── GreekAlphabetSection.tsx
├── LatexSection.tsx
├── RegexSedumSection.tsx
├── OsShortcutsSection.tsx
└── AiPromptsSection.tsx
contexts/
└── LocaleContext.tsx # i18n context + helpers
i18n/
└── translations.ts # EN/ES translations dictionary
types/
└── react-katex.d.ts # KaTeX type shim
data/
├── specialChars.ts # 200+ chars, 7 categories — add more here
├── greekAlphabet.ts # Greek alphabet + variants — add more here
├── latexCommands.ts # 100+ LaTeX commands — add more here
├── regexSedum.ts # Common regex patterns — add more here
├── osShortcuts.ts # 120+ OS shortcuts — add more here
└── aiPrompts.ts # Prompt templates + tool snippets — add more here
All data is fully parametrized. Add a new entry to the relevant array:
// data/specialChars.ts
{ char: "∞", label: "Infinity", unicode: "U+221E", mac: "⌥ 5", windows: "Alt 8734", html: "∞" }// data/latexCommands.ts
{ command: "\\mu", rendered: "\\mu", label: "Mu", description: "μ" }// data/osShortcuts.ts
{ os: "mac", category: "math", keys: ["⌥", "M"], result: "µ", label: "Mu / Micro" }
{ os: "windows", category: "math", keys: ["Alt", "956"], result: "μ", label: "Mu" }// data/greekAlphabet.ts
{ name: "Alpha", upper: "Α", lower: "α", upperUnicode: "U+0391", lowerUnicode: "U+03B1", latexLower: "\\alpha" }// data/aiPrompts.ts
{ title: "Clarify → Plan → Execute", prompt: "..." }Contributions are welcome! If you know a shortcut that's missing, open a PR — the data files are designed to be trivially extensible.
- Fork the repo
- Add your entries to
data/*.ts - Open a pull request
MIT © Eduardo J. Barrios
Made with ♥ and dark mode · Copy any symbol instantly
