Skip to content

AI Manga Reader is a next-gen manga app powered by the MangaDex API, offering vast multi-language content and flexible reading modes. It uses AI-powered OCR to extract and translate text from manga pages, combined with AI-driven text-to-speech narrationβ€”letting you effortlessly read and listen to any chapter or page, anytime, anywhere.

License

Notifications You must be signed in to change notification settings

VrajVyas11/AI_Manga_Reader

Repository files navigation

🌌 AI Manga Reader

🚨 PROJECT PAUSED: Legal & DMCA Concerns with MangaDex 🚨

⚠️ Important Notice: Due to potential legal risks tied to MangaDex's operation in a legal gray areaβ€”aggregating fan-translated content that could attract DMCA takedowns or regulatory scrutinyβ€”further development of AI Manga Reader has been paused indefinitely. While the project doesn't host content, relying on MangaDex's API and scraping exposes it (and its creator) to risks, especially with personal identity publicly linked via GitHub. Platforms like LibGen face similar issues for enabling access without hosting, and individuals can become easy targets.

The project remains open-source for educational purposes only. We strongly recommend using official publishers (e.g., Viz Media, Yen Press) or licensed platforms (e.g., Crunchyroll, BookWalker) to support creators ethically. No new features will be added, and existing deployments may be discontinued. Consult a legal expert for advice on similar projects. For more context, see our Legal Disclaimer below.

Original tagline preserved for archival: "Unleash the Manga Multiverseβ€”Where AI Meets Epic Storytelling!" But please prioritize legal reading options.

License: MIT Live Demo (Read-Only, May Be Deprecated) Live Demo (Read-Only, May Be Deprecated) Live Demo (Read-Only, May Be Deprecated) GitHub Stars GitHub Forks

πŸ”₯Unleash the Manga Multiverseβ€”Where AI Meets Epic Storytelling! (Archived Description)

πŸš€ AI Manga Reader isn't your average readerβ€”it's a Next.js juggernaut that catapults you into endless realms of manga, manhwa, and manhua, all powered by the MangaDex API. Flip through vertical scrolls, horizontal epics, single panels, or dual-view spreads that adapt to your vibe. ⚠️ Note: Development paused due to MangaDex's gray-area status (see Wikipedia for context: MangaDex). This could expose users/creators to legal risks like DMCA takedowns, as it eases access to fan-translated content without hosting it.

But waitβ€” the real thrill? AI OCR for the ultimate lazy mode: Extract text from raw panels so you can listen without lifting a finger. Or go pro with OCR + Instant Translate + Smart Overlay for those bleeding-edge, untranslated chapters dropping in Japanese or Korean. Boomβ€”seamless English overlays right on the art, no apps, no hassle. Our custom ONNX engine runs it all in-browser, blazing fast and zero privacy leaks. 🚨 Legal Caution: Features like real-time translation of unofficial scans may violate copyright laws in some jurisdictions. Use at your own riskβ€”prefer official sources.

Craving community heat? Scraped MangaDex forums bring live discussions to your feed. And with 20+ AI voices via TTS, your mangas speakβ€”custom speeds, languages, pure immersion. Your library? A brainy vault tracking history, bookmarks, and faves with filters that slice like a katana. ⚠️ Paused Project: No updates; potential for service shutdown due to regulatory issues. Ready to level up your reads? Dive inβ€”your next obsession awaits... ethically, via licensed platforms.


🎯 What Makes Us Different? (Archived)

πŸ’₯ The Problem (With Added Context)

  • Latest manga chapters drop in Japanese/Korean/Chinese
  • Official translations take months
  • You miss out on reading your favorite series
    ⚠️ Added Risk: Fan sites like MangaDex operate in a legal gray area, aggregating unofficial translations. Tools that enhance accessibility (e.g., via AI) can draw scrutiny, as seen with LibGen's bansβ€”despite not hosting content, they enable easier access and face takedowns. Personal association with such projects heightens liability.

⚑ Our Solution (Paused Development)

Two Powerful Modes: (For educational viewing onlyβ€”use official alternatives)

πŸ—£οΈ Listen Mode - For casual reading

  • AI voices read manga panels aloud (20+ voices)
  • Perfect for multitasking while commuting, cooking, or exercising
  • Adjustable speed and auto-advance to next page
    🚨 Disclaimer: Relies on MangaDex-sourced content; potential DMCA exposure if misused.

🌍 Translation Mode - For latest untranslated chapters

  • Instant OCR detects all text in manga panels
  • Real-time translation to 100+ languages
  • Perfect overlay shows translated text right on the original image
  • Read the latest chapter the day it drops, in YOUR language!
    ⚠️ Legal Pause Reason: This mode directly facilitates access to untranslated (often pirated) scans, mirroring LibGen's issues. Development halted to avoid personal legal trouble.

πŸ”₯ Key Features (Educational/Archivedβ€”Development Paused)

  • πŸ€– Custom AI OCR Engine - Built with onnxruntime-web and PaddleOCR models, runs entirely in your browser ⚠️ (Paused: Legal risks with unofficial content processing)
  • 🌐 100+ Languages - Translate from Japanese, Korean, Chinese to any language instantly 🚨 (Caution: May infringe copyrights on fan translations)
  • πŸ—£οΈ 20+ AI Voices - Listen to manga with customizable voices, speed, and pitch ⚠️ (Uses MangaDex dataβ€”gray area)
  • πŸ’¬ Live Community Feed - See what fans are discussing via scraped MangaDex forums 🚨 (Scraping may violate terms; paused)
  • πŸ“š Smart Library - Track reading history, bookmarks, and favorite chapters
  • 🎨 Dark & Light Themes - Beautiful, eye-friendly designs for any time
  • πŸ“± Fully Responsive - Perfect experience on desktop, tablet, and mobile
  • ⚑ Lightning Fast - Server-side rendering with TanStack Query for instant loads
  • πŸ”’ Privacy First - All OCR processing happens locally in your browser
  • πŸ’― 100% Free - No API keys, no subscriptions, completely open source ⚠️ (But paused due to DMCA/MangaDex legal concerns)

πŸ“Š Website Performance Overview

πŸš€ Google Analytics User Statistics ⚑ Lighthouse Performance Scores
Description: This section showcases key user engagement metrics from Google Analytics, highlighting traffic sources, active users, session duration, and conversion rates to demonstrate the site's overall user growth and retention performance.

Google Analytics dashboard showing user statistics like sessions, users, and pageviews
Description: Lighthouse audits provide core web vitals and performance insights, scoring the site on loading speed, accessibility, SEO, and best practices to ensure a smooth, optimized user experience across devices.

Lighthouse performance report with scores for Performance, Accessibility, Best Practices, and SEO

πŸ“Έ Screenshots

Mobile Preview

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β 

Β Β Β Β Β Β Β Β 

Β Β Β Β 


πŸŒ™ Dark Theme

Landing Page Manga Discovery
Landing List
Latest Activity Feed Trending Manga
Activity Trending
Chapter Details Chapter List
Details Chapters
Forum Comments Cover Gallery
Comments Covers
Reading Interface OCR Translation
Reading OCR
TTS Controls Reading Settings
TTS Settings
Advanced Search Filter Options
Search Filters
Search Results Library Overview
Results Library
Reading History Bookmarks & Favorites
History Bookmarks
Custom 404 Page Profile Menu
404 Profile
Preferences Panel
Preferences

β˜€οΈ Light Theme

Manga Discovery Activity Feed
List Activity
Featured Content Chapter View
Featured Chapter
Chapter List Discussion
Chapters Discussion
Cover Art Reader Interface
Covers Reader
Translation Overlay Audio Controls
Translation Audio
Customization Search
Customization Search
Filter Panel Search Results
Filters Results
Library History
Library History
Collections 404 Page
Collections 404
User Menu Settings
Menu Settings

πŸ—οΈ App Modules

🏠 Home / Landing Page

Your gateway to manga discovery with trending searches and quick access.

Components:

  • LandingContent.jsx - Hero section with trending searches and about info

APIs:

  • /api/manga/UsersTop - Fetches top searched manga titles

πŸ“š Manga List

Browse latest updates, community activity, and discover new series.

Components:

  • MangaCard.jsx - Individual manga card with cover and details
  • MangaCardPagination.jsx - Pagination controls
  • LatestActivityComments.jsx - Real-time forum activity feed
  • MangaReadHistory.jsx - Reading progress tracker
  • AsideComponent.jsx - Sidebar with top manga lists
  • SliderComponent.jsx - Random manga recommendations

APIs:

  • /api/manga/latest - Latest manga updates
  • /api/comments/latestActivity - Forum discussions (web scraped)
  • /api/manga/random - Random recommendations
  • /api/manga/UsersTop - Top-rated manga

Features:

  • Latest manga updates with chapter info
  • Live community discussions from MangaDex forums
  • Top 10 lists (rated, followed, latest)
  • Personal reading progress with percentages
  • Random discovery carousel

πŸ“„ Manga Chapters

Comprehensive manga details, chapter lists, and community engagement.

Components:

  • TabsAndSections.jsx - Tab navigation for sections
  • ChapterList.jsx - Filterable chapter list
  • CommentsOnManga.jsx - Forum discussions
  • CoverArts.jsx - Cover art gallery with filters

APIs:

  • /api/manga/[mangaId] - Manga metadata
  • /api/manga/getAuthor/[authorId] - Author information
  • /api/manga/[mangaId]/chapters - Chapter list
  • /api/manga/[mangaId]/coverArts - Cover art collection
  • /api/manga/rating - Rating statistics
  • Forum threads scraped for comments

Features:

  • Rich manga metadata (title, author, genres, synopsis)
  • Filter chapters by number, language, and date
  • Sort newest/oldest
  • Forum discussions from MangaDex
  • Cover art gallery with language filters
  • Reading history for this manga

πŸ“Ί Read Chapter ⭐

The crown jewel - Revolutionary reading experience with AI-powered features.

Components:

  • MiddleImageAndOptions.jsx - Main image viewer
  • SideBar.jsx - Info sidebar
  • ChaptersQuickSelect.jsx - Chapter navigation
  • CollapsedSideBarStrip.jsx - Minimized sidebar
  • TopRightOptions.jsx - Reader controls
  • ChapterQuickSelect.jsx - Quick chapter switcher
  • ShowSettingsPopUp.jsx - Settings panel
  • BottomPagesNavigation.jsx - Page controls
  • OCROverlay.jsx - OCR translation overlay
  • ScanningOverlay.jsx - OCR processing animation
  • TextToSpeech.jsx - AI voice narration
  • GOTONextChapterPopUpAtLastPage.jsx - Chapter completion prompt

APIs:

  • /api/manga/chapter/[chapterId]/pages - Chapter images
  • /api/readTextAndReplace - OCR text detection
  • /api/translate - Text translation
  • Google Translate API for backup

OCR Engine: Our custom-built OCR system using onnxruntime-web with PaddleOCR ONNX models:

Detection Model:

  • ch_PP-OCRv4_det_infer.onnx (4.7 MB) - Detects text regions

Recognition Models:

  • japan_PP-OCRv3_rec_infer.onnx (10.0 MB) + japan_dict.txt (21,729 chars) - Japanese
  • ch_PP-OCRv4_rec_infer.onnx (10.8 MB) + ch_dict.txt (32,871 chars) - Chinese
  • en_PP-OCRv4_rec_infer.onnx (7.6 MB) + en_dict.txt (283 chars) - English
  • latin_PP-OCRv3_rec_infer.onnx (8.9 MB) + latin_dict.txt (651 chars) - Latin scripts
  • korean_dict.txt (18,166 chars) - Korean

Features:

πŸ€– OCR Translation System:

  • Instant text detection in manga panels
  • Real-time translation to 100+ languages
  • Perfect overlay positioning on original images
  • Dialogue flow panel showing continuous text
  • Per-page caching for instant revisits
  • 92-98% accuracy across languages

πŸ—£οΈ Text-to-Speech:

  • 20+ AI voices with multiple languages
  • Adjustable speed (0.5x-2.0x), pitch, and volume
  • Read original or translated text
  • Auto-advance to next panel
  • Text highlighting synced with audio

πŸ“– Reading Modes:

  • Vertical scroll (webtoon style)
  • Horizontal pages (traditional manga)
  • Single or double page spreads
  • Adjustable image quality

βš™οΈ Customization:

  • Zoom and pan controls
  • Page preloading for instant access
  • Bookmark current page
  • Favorite chapter toggle
  • All settings persist per page

πŸ” Search

Advanced search with powerful filtering and sorting options.

Components:

  • SearchMangaCard.jsx - Card view for results
  • SearchMangaList.jsx - List view for results
  • FilterCustomDropDown.jsx - Multi-select filters
  • ThemeGenreTags.jsx - Tag filtering
  • SearchAndTotalFilterOptions.jsx - Search bar and filters
  • BottomPagination.jsx - Pagination controls

APIs:

  • /api/manga/titles - Search with filters

Features:

  • Real-time search with autocomplete
  • 100+ filter tags (genres, themes, formats)
  • Filter by rating, status, demographic, type, year
  • Sort by relevance, rating, follows, date, title
  • Grid/List view toggle
  • Active filter badges
  • Clear all filters option

πŸ“š Library

Your personal manga collection manager.

Components:

  • ReadingHistory.jsx - Reading log with filters
  • ReadingHistoryCard.jsx - Individual history entries
  • SearchHistory.jsx - Past search queries
  • BookMarkedSection.jsx - Bookmarked manga
  • BookmarkCard.jsx - Bookmark display
  • FavoriteChaptersCard.jsx - Favorite chapters
  • SelectedMangaCard.jsx - Manga selector
  • FilterPanel.jsx - Filter controls
  • ConfirmationDialog.jsx - Delete confirmations

Features:

  • Reading history with timestamps and progress
  • Search history log
  • Bookmarked manga collection
  • Favorite chapters from any manga
  • Filter by date, genre, status
  • Sort by recent, alphabetical, progress
  • Export library data

🧭 Top Navigation Bar

Persistent navigation across the entire app.

Components:

  • TopNavbar.jsx - Main navigation bar
  • ProfilePop.jsx - User profile dropdown
  • PreferencesPopUp.jsx - Settings modal
  • ComingSoonPopup.jsx - Feature previews

Features:

  • Logo β†’ Home
  • Manga List quick access
  • Search with keyboard shortcut (Ctrl+K)
  • Library access
  • Theme toggle
  • Profile menu
  • Responsive mobile menu

⚑ Performance & Tech Stack

Frontend:

  • Next.js 14+ with App Router
  • React 18+ (Server & Client Components)
  • TanStack Query v5 for data fetching
  • Tailwind CSS for styling
  • TypeScript for type safety

AI/ML:

  • onnxruntime-web for browser-based ML
  • PaddleOCR v3/v4 ONNX models
  • Custom OCR engine (no external APIs)

Data:

  • MangaDex API (no key required)
  • Google Translate API
  • Web scraping for forum data
  • Compressed localStorage
  • Server-side rendering with hydration

Optimizations:

  • Lazy loading images and components
  • React.memo, useMemo, useCallback
  • Image optimization with Next.js
  • Debounced search queries
  • Aggressive caching strategies

🎨 Themes

Dark Mode - Optimized for nighttime reading

  • Rich dark backgrounds
  • Purple and yellow accents
  • Reduced eye strain
  • OLED-friendly true blacks

Light Mode - Clean and bright

  • Crisp white backgrounds
  • Blue accents for actions
  • High contrast for visibility
  • Accessible color scheme

πŸš€ Quick Start

Prerequisites:

  • Node.js 18.17+
  • npm 9.0+

Installation:

# Clone repository
git clone https://github.com/VrajVyas11/AI_Manga_Reader.git

# Navigate to directory
cd AI_Manga_Reader

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:3000 in your browser. That's it!

No API keys needed - MangaDex API is completely open.


πŸ’‘ How to Use

For Casual Reading (Listen Mode)

  1. Find any manga and open a chapter
  2. Click the πŸ—£οΈ "Listen" button
  3. Choose your preferred AI voice
  4. Adjust speed to your liking
  5. Sit back and listen while the manga is read to you
  6. Perfect for commuting, cooking, or exercising!

For Latest Untranslated Chapters (Translation Mode)

  1. Find the latest chapter (even in Japanese/Korean/Chinese)
  2. Open it in the reader
  3. Click the πŸ€– "Translate" button
  4. Select source and target languages
  5. Watch AI detect text and overlay translations
  6. Read the latest chapter in YOUR language instantly!

General Tips

  • Press Ctrl+K or Cmd+K for quick search
  • Bookmark manga with the heart icon
  • All reading progress is saved automatically
  • Toggle themes in the top navigation
  • Customize reading mode and quality in settings

πŸ›£οΈ Roadmap

βœ… Completed:

  • Custom OCR engine with onnxruntime-web
  • Multi-language translation overlay
  • 20+ AI voices for TTS
  • Forum activity feed
  • Reading progress tracking
  • Dark/Light themes
  • Advanced search
  • Library management
  • Server-side rendering

🚫 Paused/In Progress: (All Halted Due to MangaDex/DMCA Concerns)

  • Improved OCR accuracy for stylized fonts
  • Offline reading mode
  • Enhanced TTS with emotional tones
  • Social sharing features

πŸ“… Planned: (Cancelledβ€”Prioritize Official Support)

  • User accounts and cloud sync
  • AI-powered recommendations
  • MyAnimeList integration
  • Mobile apps (iOS & Android)
  • Premium features (ad-free, priority processing)

πŸ’­ Vision:

  • AI art enhancement
  • VR/AR reading modes
  • Voice-controlled navigation

πŸ“ Project Structure

ai-manga-reader/
β”‚
β”œβ”€β”€ πŸ“ app/                                    # Next.js App Router
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ (core)/                             # Core routes group
β”‚   β”‚   β”œβ”€β”€ πŸ“ library/                        # πŸ“š Library Module
β”‚   β”‚   β”‚   └── πŸ“„ page.jsx                    # Library main page
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ manga/                          
β”‚   β”‚   β”‚   └── πŸ“ [mangaId]/                  
β”‚   β”‚   β”‚       β”œβ”€β”€ πŸ“ chapters/               # πŸ“„ Manga Chapters Module
β”‚   β”‚   β”‚       β”‚   └── πŸ“„ page.jsx            # Chapter list & details
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       └── πŸ“ chapter/
β”‚   β”‚   β”‚           └── πŸ“ [chapterId]/
β”‚   β”‚   β”‚               └── πŸ“ read/           # πŸ“Ί Read Chapter Module
β”‚   β”‚   β”‚                   └── πŸ“„ page.jsx    # ⭐ OCR + TTS Reading UI
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ manga-list/                     # πŸ“š Manga List Module
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ page.jsx                    # SSR page with prefetch
β”‚   β”‚   β”‚   └── πŸ“„ MangaListClient.jsx         # Client component
β”‚   β”‚   β”‚
β”‚   β”‚   └── πŸ“ search/                         # πŸ” Search Module
β”‚   β”‚       └── πŸ“„ page.jsx                    # Advanced search page
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ api/                                # API Routes (Backend)
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ manga/
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ [mangaId]/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ chapters/route.ts       # GET chapters for manga
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ coverArts/route.ts      # GET cover arts
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ chapter/
β”‚   β”‚   β”‚   β”‚   └── πŸ“ [chapterId]/
β”‚   β”‚   β”‚   β”‚       └── πŸ“„ pages/route.ts      # GET chapter images
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ latest/route.ts             # GET latest manga updates
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ latestArrivals/route.ts     # GET new arrivals
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ random/route.ts             # GET random manga
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ titles/route.ts             # GET search results
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ UsersTop/route.ts           # GET top-rated manga
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ favourite/route.ts          # POST favorite manga
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ rating/route.ts             # GET manga ratings
β”‚   β”‚   β”‚   └── πŸ“ getAuthor/
β”‚   β”‚   β”‚       └── πŸ“ [authorId]/route.ts     # GET author info
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ comments/
β”‚   β”‚   β”‚   └── πŸ“„ latestActivity/route.ts     # πŸ•·οΈ Scrape forum activity
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ readTextAndReplace/             # πŸ€– OCR Engine API
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ route.ts                    # POST image for OCR
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ apiVersion.ts               # API versioning
β”‚   β”‚   β”‚   └── πŸ“„ extra.ts                    # Extra OCR utilities
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ translate/
β”‚   β”‚   β”‚   └── πŸ“„ route.ts                    # POST text for translation
β”‚   β”‚   β”‚
β”‚   β”‚   └── πŸ“ proxy/
β”‚   β”‚       └── πŸ“„ avatar/route.ts             # Proxy user avatars
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Components/                         # React Components
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ TopNavbar.jsx                   # 🧭 Main navigation
β”‚   β”‚   β”œβ”€β”€ πŸ“ TopNavbarComponents/
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ProfilePop.jsx              # User menu dropdown
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ PreferencesPopUp.jsx        # Settings modal
β”‚   β”‚   β”‚   └── πŸ“„ ComingSoonPopup.jsx         # Feature preview
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ HomeComponents/
β”‚   β”‚   β”‚   └── πŸ“„ LandingContent.jsx          # 🏠 Landing page content
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ MangaListComponents/            # πŸ“š Manga List Module
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ MangaCard.jsx               # Manga card display
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ MangaCardPagination.jsx     # Pagination UI
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ LatestActivityComments.jsx  # πŸ’¬ Forum activity feed
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ MangaReadHistory.jsx        # Reading progress
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ AsideComponent.jsx          # Sidebar (top lists)
β”‚   β”‚   β”‚   └── πŸ“„ SliderComponent.jsx         # Random recommendations
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ MangaChaptersComponents/        # πŸ“„ Manga Chapters Module
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ TabsAndSections.jsx         # Tab navigation
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ChapterList.jsx             # Filterable chapter list
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ CommentsOnManga.jsx         # πŸ’¬ Forum discussions
β”‚   β”‚   β”‚   └── πŸ“„ CoverArts.jsx               # πŸ–ΌοΈ Cover gallery
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ ReadChapterComponents/          # πŸ“Ί Read Chapter Module (⭐ MAIN)
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ MiddleImageAndOptions.jsx   # Main image viewer
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ SideBar.jsx                 # Info sidebar
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ SideBarModules/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ChaptersQuickSelect.jsx # Chapter dropdown
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ CollapsedSideBarStrip.jsx # Minimized view
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ TopRightOptions.jsx         # Reader controls
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ TopRightOptionsModules/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ChapterQuickSelect.jsx  # Quick switcher
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ ShowSettingsPopUp.jsx   # Settings panel
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ BottomPagesNavigation.jsx   # Page controls
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ OCROverlay.jsx              # πŸ€– OCR translation overlay
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ScanningOverlay.jsx         # OCR processing UI
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ TextToSpeech.jsx            # πŸ—£οΈ TTS controls
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Audiotest.jsx               # Audio testing
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Placeholder.jsx             # Loading placeholder
β”‚   β”‚   β”‚   └── πŸ“„ GOTONextChapterPopUpAtLastPage.jsx # Chapter end prompt
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ SearchPageComponents/           # πŸ” Search Module
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ SearchAndTotalFilterOptions.jsx # Search bar + filters
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ SearchMangaCardWith2ViewMode.jsx # Grid/List toggle
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ SearchMangaCardWith2ViewModeModules/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ SearchMangaCard.jsx     # Card view
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ SearchMangaList.jsx     # List view
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ SearchTotalAndFilterOptionsModules/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ FilterCustomDropDown.jsx # Filter dropdowns
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ ThemeGenreTags.jsx      # Tag filters
β”‚   β”‚   β”‚   └── πŸ“„ BottomPagination.jsx        # Pagination
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ LibraryComponents/              # πŸ“š Library Module
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ReadingHistory.jsx          # History main view
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ReadingHistoryCard.jsx      # History card
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ BookMarkedSection.jsx       # Bookmarks view
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ BookmarkCard.jsx            # Bookmark card
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ FavoriteChaptersCard.jsx    # Favorites list
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ SearchHistory.jsx           # Search history
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ SelectedMangaCard.jsx       # Manga selector
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ FilterPanel.jsx             # Filter controls
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ConfirmationDialog.jsx      # Delete confirmations
β”‚   β”‚   β”‚   └── πŸ“„ LibraryLoading.jsx          # Loading state
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ Skeletons/                      # Loading Skeletons
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ MangaList/
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ MangaChapters/
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ ReadChapter/
β”‚   β”‚   β”‚   └── πŸ“ SearchPage/
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ LoadingSpinner.jsx              # Generic spinner
β”‚   β”‚   β”œβ”€β”€ πŸ“„ StableFlag.jsx                  # Feature flags
β”‚   β”‚   β”œβ”€β”€ πŸ“„ Toasts.tsx                      # Toast notifications
β”‚   β”‚   └── πŸ“„ AnalyticsClient.tsx             # Google Analytics
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ hooks/                              # Custom React Hooks
β”‚   β”‚   β”œβ”€β”€ πŸ“„ useMangaFetch.js                # Fetch manga details
β”‚   β”‚   β”œβ”€β”€ πŸ“„ useChaptersFetch.js             # Fetch chapters
β”‚   β”‚   β”œβ”€β”€ πŸ“„ useChapterPagesFetch.js         # Fetch chapter images
β”‚   β”‚   β”œβ”€β”€ πŸ“„ useMangaFilters.js              # Search filters logic
β”‚   β”‚   β”œβ”€β”€ πŸ“„ useMangaTitle.js                # Get manga title
β”‚   β”‚   └── πŸ“„ useInView.js                    # Intersection Observer
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ providers/                          # Context Providers
β”‚   β”‚   β”œβ”€β”€ πŸ“„ TanstackProvider.tsx            # TanStack Query setup
β”‚   β”‚   β”œβ”€β”€ πŸ“„ ThemeContext.tsx                # Theme state
β”‚   β”‚   β”œβ”€β”€ πŸ“„ ThemeProviderClient.tsx         # Client theme provider
β”‚   β”‚   β”œβ”€β”€ πŸ“„ MangaContext.tsx                # Global manga state
β”‚   β”‚   └── πŸ“„ PreferencesContext.tsx          # User preferences
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ util/                               # Utilities
β”‚   β”‚   β”œβ”€β”€ πŸ“„ imageOptimization.js            # Image optimization
β”‚   β”‚   β”œβ”€β”€ πŸ“ MangaList/
β”‚   β”‚   β”‚   └── πŸ“„ cache.js                    # Caching utilities
β”‚   β”‚   └── πŸ“ ReadChapterUtils/
β”‚   β”‚       β”œβ”€β”€ πŸ“„ handleTranslate.js          # Translation logic
β”‚   β”‚       └── πŸ“„ sortAndjoinOCR.js           # OCR text sorting
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ constants/                          # App Constants
β”‚   β”‚   β”œβ”€β”€ πŸ“„ filterOptions.js                # Search filter options
β”‚   β”‚   β”œβ”€β”€ πŸ“„ Flags.js                        # Feature flags
β”‚   β”‚   └── πŸ“„ TopFavouriteMangas.js           # Top manga list
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ lib/
β”‚   β”‚   └── πŸ“„ gtag.ts                         # Google Analytics setup
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“„ page.jsx                            # 🏠 Landing page (root)
β”‚   β”œβ”€β”€ πŸ“„ not-found.jsx                       # Custom 404 page
β”‚   β”œβ”€β”€ πŸ“„ layout.jsx                          # Root layout
β”‚   β”œβ”€β”€ πŸ“„ globals.css                         # Global styles
β”‚   β”œβ”€β”€ πŸ“„ manifest.ts                         # PWA manifest
β”‚   β”œβ”€β”€ πŸ“„ robots.ts                           # SEO robots.txt
β”‚   β”œβ”€β”€ πŸ“„ sitemap.ts                          # SEO sitemap
β”‚   └── πŸ“„ favicon.ico                         # App icon
β”‚
β”œβ”€β”€ πŸ“ scripts/                                # πŸ€– OCR Engine
β”‚   β”œβ”€β”€ πŸ“ models/                             # ONNX Models & Dictionaries
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ ch_PP-OCRv4_det_infer.onnx      # Detection model (4.7 MB)
β”‚   β”‚   β”‚   # Used for detecting text regions in images
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ ch_PP-OCRv4_rec_infer.onnx      # Chinese recognition (10.8 MB)
β”‚   β”‚   β”œβ”€β”€ πŸ“„ ch_dict.txt                     # Chinese chars (32,871)
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ japan_PP-OCRv3_rec_infer.onnx   # Japanese recognition (10.0 MB)
β”‚   β”‚   β”œβ”€β”€ πŸ“„ japan_dict.txt                  # Japanese chars (21,729)
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ korean_dict.txt                 # Korean chars (18,166)
β”‚   β”‚   β”‚   # Uses shared recognition model
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ en_PP-OCRv4_rec_infer.onnx      # English recognition (7.6 MB)
β”‚   β”‚   β”œβ”€β”€ πŸ“„ en_dict.txt                     # English chars (283)
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“„ latin_PP-OCRv3_rec_infer.onnx   # Latin recognition (8.9 MB)
β”‚   β”‚   └── πŸ“„ latin_dict.txt                  # Latin chars (651)
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“„ index.js                            # OCR engine initialization
β”‚   └── πŸ“„ main.js                             # OCR processing logic
β”‚
β”œβ”€β”€ πŸ“ public/                                 # Static Assets
β”‚   β”œβ”€β”€ πŸ“„ logo.svg                            # App logo
β”‚   β”œβ”€β”€ πŸ“„ placeholder.jpg                     # Image placeholder
β”‚   └── πŸ“„ site.webmanifest                    # PWA manifest
β”‚
β”œβ”€β”€ πŸ“ livedemoimages/                         # README screenshots
β”‚
β”œβ”€β”€ πŸ“„ package.json                            # Dependencies
β”œβ”€β”€ πŸ“„ package-lock.json                       # Locked dependencies
β”œβ”€β”€ πŸ“„ next.config.ts                          # Next.js config
β”œβ”€β”€ πŸ“„ tsconfig.json                           # TypeScript config
β”œβ”€β”€ πŸ“„ tailwind.config.ts                      # Tailwind config
β”œβ”€β”€ πŸ“„ postcss.config.mjs                      # PostCSS config
β”œβ”€β”€ πŸ“„ .eslintrc.json                          # ESLint config
β”œβ”€β”€ πŸ“„ .eslintignore                           # ESLint ignore
β”œβ”€β”€ πŸ“„ Dockerfile                              # Docker config
β”œβ”€β”€ πŸ“„ global.d.ts                             # Global TypeScript types
β”œβ”€β”€ πŸ“„ next-env.d.ts                           # Next.js types
└── πŸ“„ README.md                               # This file!

🀝 Contributing

We welcome contributions! Here's how:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m "Add amazing feature"
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Please run npm run lint before submitting.

⚠️ Pause Note: Contributions limited to non-MangaDex enhancements onlyβ€”consult legal before forking.


πŸ“œ License

Licensed under the MIT License - see LICENSE for details.

Copyright Β© 2025 AI Manga Reader


πŸ™ Acknowledgments

  • MangaDex - For the open API and amazing community
  • PaddleOCR - For powerful OCR models
  • onnxruntime-web - For browser-based ML capabilities
  • Google Translate - For translation services
  • Next.js - For the incredible framework
  • All Contributors - Thank you for your support!

βš–οΈ Legal Disclaimer

🚨 Critical Warning: This project was built with good intentions (accessibility for global readers) but relies heavily on MangaDex, a fan-translation aggregator in a legal gray area (see Wikipedia). It doesn't host content but uses its API/scraping for discovery, metadata, forums, and imagesβ€”which could be viewed as enabling access, drawing DMCA or infringement claims (e.g., US fair use limited; EU stricter).

From our conversation:

  • "Even if a project doesn’t host content, making it easily accessible can attract legal scrutiny" (LibGen parallel).
  • Personal identity linkage is key riskβ€”"the person who is in reach is made an example," especially with GitHub tying name to repo.

Recommendations:

  • Switch to official sources: Viz, Kodansha, Crunchyroll.
  • For devs: Replace MangaDex with licensed APIs; use pseudonyms.
  • I'm not a lawyerβ€”seek professional advice. Development paused to protect creator from targeting.

Project archived for education; no endorsement of MangaDex use.


Made with ❀️ by the AI Manga Reader Team (Now on Hiatus)

"Breaking language barriers, one manga panel at a time" πŸŒπŸ“šβœ¨ β€”Ethically, without gray-zone risks.

πŸš€ Explore Official Manga β€’ ⭐ Star on GitHub (Archival) (https://github.com/VrajVyas11/AI_Manga_Reader/blob/main/CONTRIBUTING.md)**

GitHub License PRs Welcome

About

AI Manga Reader is a next-gen manga app powered by the MangaDex API, offering vast multi-language content and flexible reading modes. It uses AI-powered OCR to extract and translate text from manga pages, combined with AI-driven text-to-speech narrationβ€”letting you effortlessly read and listen to any chapter or page, anytime, anywhere.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published