An elegant, ad-free manga reader built with Expo and React Native. Compatible with Paperback extensions.
Get the latest release from the Releases page:
- Android: Download
.apkfile and install - iOS: Download
.ipafile and sideload with AltStore/Sideloadly
- 📖 Browse Manga - Discover manga with genre filtering and search
- 🔌 Paperback Extensions - Compatible with Paperback extension sources
- 📚 Personal Library - Save your favorite manga for quick access
- ❤️ Favorites - Mark manga as favorites for easy organization
- 📊 Reading Progress - Automatic tracking of your reading position
- 🌙 Dark Mode - Eye-friendly dark theme with custom
.pbcolorssupport - 📱 Dual Reading Modes - Vertical scroll or horizontal page flip
- 🔄 Chapter Navigation - Easy navigation between chapters
- 📜 Reading History - Track what you've been reading
- 🔍 Multi-Source Search - Search across all installed extensions
- 💾 Image Caching - Fast loading with configurable cache limits
Coming soon
- Node.js 18+
- npm or yarn
- Expo CLI
- Android Studio (for Android) or Xcode (for iOS)
- Install dependencies:
npm install- Start the development server:
npx expo start- Run on your device:
- Android: Press
ain the terminal or scan QR code with Expo Go - iOS: Press
iin the terminal or scan QR code with Expo Go - Web: Press
wto open in browser
- Android: Press
src/
├── components/ # Reusable UI components
│ ├── MangaCard.tsx # Manga cover card
│ ├── ChapterListItem.tsx # Chapter list item
│ ├── ExtensionRunner.tsx # WebView extension runtime
│ ├── PickerModal.tsx # Custom picker modal
│ ├── LoadingIndicator.tsx
│ └── EmptyState.tsx
├── context/ # React Context providers
│ ├── ThemeContext.tsx # Theme management
│ └── LibraryContext.tsx # Library & progress state
├── navigation/ # Navigation configuration
│ ├── AppNavigator.tsx
│ └── BottomTabNavigator.tsx
├── screens/ # App screens
│ ├── LibraryScreen.tsx # User library
│ ├── DiscoverScreen.tsx # Browse sources
│ ├── SearchScreen.tsx # Multi-source search
│ ├── MangaDetailScreen.tsx
│ ├── ReaderScreen.tsx # Manga reader
│ ├── HistoryScreen.tsx # Reading history
│ ├── SettingsScreen.tsx # App settings
│ ├── ExtensionsScreen.tsx # Manage extensions
│ ├── CategoryScreen.tsx # Category view more
│ └── ... # Other screens
├── services/ # Core services
│ ├── sourceService.ts # Extension API bridge
│ ├── extensionService.ts # Extension management
│ ├── cacheService.ts # Image caching
│ ├── themeService.ts # Theme file parsing
│ └── deepLinkService.ts # Deep link handling
├── types/ # TypeScript types
│ └── index.ts
└── constants/ # App constants
└── theme.ts
- Expo SDK 54 - Development framework
- React Native - Cross-platform mobile development
- TypeScript - Type-safe JavaScript
- React Navigation - Navigation library
- AsyncStorage - Persistent local storage
- expo-image - Optimized image loading with caching
- WebView - Extension runtime for Paperback sources
# Install dependencies
npm install
# Start Expo dev server
npx expo start
# Run on Android
npm run android
# Run on iOS
npm run iosThe project uses GitHub Actions for automated builds. On every push to main or manual trigger:
- Builds Android APK with signing
- Builds iOS IPA (simulator build, sideloadable)
- Creates a GitHub Release with both artifacts
Required Secrets:
EXPO_TOKEN- Expo access tokenANDROID_KEYSTORE_BASE64- Base64 encoded keystoreANDROID_KEYSTORE_PASSWORD- Keystore passwordANDROID_KEY_ALIAS- Key aliasANDROID_KEY_PASSWORD- Key password
# Android APK
eas build --platform android --profile preview
# iOS
eas build --platform ios --profile preview- Go to More → External Sources
- Add a Paperback-compatible extension repository URL
- Browse and install extensions
- Sources will appear in the Discover tab
Supports custom .pbcolors theme files. Import via More → Appearance.
- Portrait/Landscape columns - Customize grid layout
- Chapter list sort - Ascending or descending
- Cache limit - Control storage usage
MIT License - feel free to use this project for personal or commercial purposes.
Contributions are welcome! Please feel free to submit a Pull Request.
Help us translate Paperand into your language! We use Crowdin for localization. Contribute Translations on Crowdin
Hidden debug features can be accessed by tapping the Version number in More > About 7 times.
Made with ❤️ for manga lovers. No ads. No tracking. Just manga.