Skip to content

Saganaki22/ASCII-GEN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ASCII-GEN 🎨

A modern, cross-platform ASCII art generator desktop application built with Electron and Next.js. Convert images to beautiful ASCII art with advanced customization options.

Electron Next.js React TypeScript Tailwind CSS Node.js

replicate-prediction-z8fvcxk9nhrm80cqg4q85p955r

πŸš€ Features

  • Cross-platform: Windows and Linux support
  • Real-time preview: See changes instantly as you adjust settings
  • Advanced customization: Brightness, contrast, blur, zoom, dithering, and more
  • Multiple ASCII charsets: Detailed, simple, and custom character sets
  • Edge detection: Various edge detection algorithms
  • Export options: Copy to clipboard or download as PNG
  • Dark/Light theme: Automatic theme switching
  • Drag & Drop: Easy image upload with drag and drop support

πŸ—οΈ Architecture

Frontend Stack

  • Next.js 15.2.4 - React framework with static export
  • React 18.2.0 - UI library with hooks
  • TypeScript 5.0 - Type-safe JavaScript
  • Tailwind CSS 3.4.17 - Utility-first CSS framework
  • Radix UI - Accessible component primitives
  • Framer Motion - Animation library
  • Lucide React - Icon library

Desktop Framework

  • Electron 36.4.0 - Cross-platform desktop app framework
  • Electron Builder - Packaging and distribution

Key Libraries

  • React Hook Form - Form handling
  • Zod - Schema validation
  • Class Variance Authority - Component variant management
  • Tailwind Merge - Utility class merging
  • Sonner - Toast notifications

πŸ“¦ Installation

🌐 Try Online Demo

Experience ASCII-GEN in your browser: https://asciigen.vercel.app/

πŸ’» Windows x64 Portable (Recommended)

Quick Start - No Installation Required!

  1. Download: Get the portable executable from GitHub Releases
  2. Run: Double-click ASCII-Gen-Portable.exe
  3. Enjoy: Start creating ASCII art immediately!

System Requirements:

  • Windows 10/11 (x64)
  • No additional dependencies required
  • Portable - runs from any location

πŸ› οΈ Development Setup

# Clone the repository
git clone <your-repo-url>
cd ascii-generator

# Install dependencies
npm install
# or
pnpm install

# Start development server
npm run dev

Building for Production

# Build for Windows (Portable)
npm run package:win

# Build for Linux (AppImage & DEB)
npm run package:linux

🎯 Usage

  1. Upload Image: Drag and drop an image or click to browse
  2. Adjust Settings: Use the sliders and options to customize your ASCII art
  3. Preview: See real-time changes in the preview area
  4. Export: Copy to clipboard or download as PNG

Available Settings

  • ASCII Width: Control the width of the output
  • Brightness: Adjust image brightness
  • Contrast: Modify image contrast
  • Blur: Apply Gaussian blur
  • Zoom: Scale the image
  • Dithering: Enable/disable dithering with multiple algorithms
  • Invert: Invert the image colors
  • Character Set: Choose from detailed, simple, or custom characters
  • Edge Detection: Apply various edge detection methods

πŸ› οΈ Development

Project Structure

ascii-generator/
β”œβ”€β”€ app/                 # Next.js app directory
β”‚   β”œβ”€β”€ globals.css     # Global styles
β”‚   β”œβ”€β”€ layout.tsx      # Root layout
β”‚   └── page.tsx        # Main ASCII generator component
β”œβ”€β”€ components/         # Reusable UI components
β”‚   └── ui/            # Radix UI components
β”œβ”€β”€ hooks/             # Custom React hooks
β”œβ”€β”€ lib/               # Utility functions
β”œβ”€β”€ assets/            # App icons and resources
β”œβ”€β”€ main.js            # Electron main process
└── package.json       # Dependencies and scripts

Available Scripts

  • npm run dev - Start development server with Electron
  • npm run dev:web - Start Next.js development server only
  • npm run build:web - Build Next.js application
  • npm run package:win - Package for Windows
  • npm run package:linux - Package for Linux
  • npm run clean - Clean build artifacts

🎨 Customization

The app uses a comprehensive design system with:

  • Shadcn/ui components - Pre-built, accessible components
  • CSS Variables - Theme-aware styling
  • Tailwind CSS - Utility-first styling
  • Framer Motion - Smooth animations

πŸ“± Platform Support

  • βœ… Windows x64 (Portable executable)
  • πŸ”„ Linux (Coming soon)
  • πŸ”„ macOS (Can be added with electron-builder)

πŸ“„ License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Saganaki22 - GitHub Profile


⭐ Star this repository if you find it useful!