React ASCII UI
A complete React component library for ASCII-style UIs with advanced features 🎨
Perfect for retro dashboards, hackathon projects, developer tools, network monitoring, code editors, and adding ASCII flair to your apps!
📚 View Documentation & Examples →
🌟 NEW: Advanced Features
🔊 Sound System
Retro audio feedback with Web Audio API integration:
- 20+ sound presets (button clicks, keyboard typing, system alerts)
- Custom hooks:
useButtonSounds(),useTerminalSounds(),useSystemSounds() - Master volume controls and browser-compatible audio resumption
🎨 ASCII Art Generator
Image-to-ASCII conversion with real-time processing:
- Multiple character sets (detailed, simple, blocks, dots, classic)
- Webcam live preview and batch image processing
- Advanced options: brightness, contrast, dithering algorithms
💻 Code Editor
Full-featured ASCII-style code editor with syntax highlighting:
- Multi-language support (JS, TS, Python, CSS, HTML, JSON)
- 4 retro themes (green terminal, amber, cyan, classic)
- Multi-tab editing, auto-indentation, bracket matching
🔗 Network Visualizer
Interactive network topology diagrams with ASCII aesthetics:
- 5 layout algorithms (force-directed, hierarchical, circular, grid, tree)
- Real-time monitoring with status updates and event tracking
- Network analysis: path finding, metrics calculation, hub detection
Install
npm install react-ascii-ui
Quick Start
import {
AsciiButton,
AsciiInput,
AsciiSelect,
AsciiDivider,
AsciiCard,
AsciiAlert
} from "react-ascii-ui";
export default function Demo() {
return (
<div className="bg-black text-white p-4 space-y-4">
<AsciiCard title="Dashboard">
<AsciiAlert variant="info" title="Welcome">
Ready to build some ASCII magic?
</AsciiAlert>
<div className="space-y-2 mt-4">
<AsciiInput placeholder="Search..." />
<AsciiSelect>
<option>All Items</option>
<option>Recent</option>
<option>Favorites</option>
</AsciiSelect>
<AsciiButton onClick={() => alert("ASCII!")}>
[ Generate ]
</AsciiButton>
</div>
<AsciiDivider />
</AsciiCard>
</div>
);
}
🎮 Live Demo Applications
See the full potential with 10 interactive demo apps:
- Dashboard - Admin panel with metrics and analytics
- Terminal - Interactive command-line interface
- IDE - Full development environment with file explorer
- Music Player - Complete audio player with playlists
- Chat App - Real-time messaging with channels
- Email Client - Three-pane email interface
- File Manager - Directory browser with navigation
- Monitoring - System dashboard with live metrics
📦 Complete Component Library
50+ components and systems across 6 categories - everything you need for ASCII UIs:
🔧 Forms & Inputs
AsciiButton-[ Click Me ]clickable buttonsAsciiInput-[ ________ ]text inputsAsciiSelect-[ Option ▼ ]dropdownsAsciiCheckbox-[x] Checked/[ ] UncheckedAsciiRadioGroup-(•) Selected/( ) OptionAsciiTextarea- Multi-line text inputAsciiSwitch-[ ON ]/[ OFF ]toggles
📐 Layout & Structure
AsciiCard- Bordered containers with optional titlesAsciiDivider---------------------separatorsAsciiTable- Data tables with ASCII bordersAsciiNavbar- Top navigation barsAsciiSidebar- Vertical navigation menusAsciiTabs-[ Tab1 ] [ Tab2 ] [ Tab3 ]AsciiAccordion- Expandable sectionsAsciiPagination-[ Prev ] 1 2 3 [ Next ]
💬 Feedback & Overlays
AsciiAlert-(!) Error/(✓) SuccessmessagesAsciiBadge-[ NEW ]/{ Info }tagsAsciiLoader-...loading.../[▓▓░░░░]progressAsciiModal- Popup dialogs with bordersAsciiToast- Floating notificationsAsciiTooltip- Hover info with^ arrowsAsciiProgressBar-▓▓▓░░░░ (40%)progress bars
🎨 Utilities & Fun
AsciiCalendar- Month grids for date selectionAsciiAvatar-(@UV)user initialsAsciiChart-▇▇▇▃▂data visualizationAsciiTree- Hierarchical data with[+]expansionAsciiPopover- Contextual overlays with smart positioning
🚀 Advanced Systems
AsciiSoundProvider- Complete audio system with retro sound effectsAsciiArtGenerator- Real-time image-to-ASCII conversion with webcam supportAsciiCodeEditor- Multi-language code editor with syntax highlightingAsciiNetworkVisualizer- Interactive network topology diagrams
🎵 Sound Hooks
useButtonSounds()- Click and hover audio feedbackuseTerminalSounds()- Keyboard typing simulationuseFormSounds()- Form submission and validation audiouseSystemSounds()- Notifications, alerts, and system eventsuseAmbientSounds()- Background static and atmospheric audio
🎯 Features
- TypeScript - Fully typed with IntelliSense support
- Web Audio API - Real-time sound generation and audio feedback
- Advanced Image Processing - Canvas-based ASCII art conversion
- Multi-language Syntax Highlighting - Custom tokenizers for 6+ languages
- Interactive Network Diagrams - SVG-based topology visualization
- Accessible - Keyboard navigation, ARIA support, and screen reader friendly
- Consistent API - Predictable props across all components
- Customizable Themes - Multiple ASCII color schemes and styling options
- Performance Optimized - Efficient rendering and memory management
🎨 Styling
Components work best with dark backgrounds and monospace fonts:
// Recommended container styling
<div className="bg-black text-white font-mono p-4">
{/* Your ASCII components */}
</div>
All components support className prop for customization and follow consistent color patterns:
- White: Default text and borders
- Green: Active/success states and hover effects
- Yellow: Warning states and "today" highlights
- Red: Error states and danger actions
- Blue: Info states and primary actions
🚀 Perfect For
- Developer Tools - CLIs, terminals, code editors, network monitoring
- Retro Dashboards - System monitoring, analytics, admin panels with real-time updates
- Creative Applications - ASCII art generators, image processing tools, multimedia apps
- Network Administration - Topology visualization, status monitoring, diagnostic tools
- Audio Applications - Music players, sound effects, interactive audio experiences
- Hackathon Projects - Stand out with unique ASCII styling and advanced features
- Easter Eggs - Hidden ASCII modes, retro themes, and nostalgic experiences
- Educational Tools - Learning interfaces for programming, networking, and system administration
📝 License
MIT © Mikel Vu
Built with ❤️ for the ASCII aesthetic revolution 🎯

Log in or sign up for Devpost to join the conversation.