Uviewer is an all-in-one media viewer for Android that lets you enjoy documents, images (manga), music, and videos in a single app. Beyond a simple viewer, it provides an optimized viewing experience through archive streaming and WebDAV remote server support.
Note: This project was built with Vibe Coding. 🚀
- Multiple Formats: Support for
epub,aozora(Aozora Bunko),txt,md(Markdown), andpdf. - Smart Parsing: Full support for Aozora Bunko format, including Ruby text, vertical writing, and emphasis dots (Bouten).
- Auto Encoding Detection: Automatically detects text encodings like
UTF-8,EUC-KR,JohabandShift-JISto prevent broken characters. - Math Rendering: Full support for KaTeX math expressions (inline and display mode) in Markdown.
- Custom Themes: White, Sepia, Comfort, Dark, and fully customizable background colors and font settings.
- Selection Action: Select text in the document viewer and choose LLM from the Android text-selection menu to explain or transform the selected text.
- Markdown Responses: LLM responses are rendered with Markdown support in the result overlay, including headings, lists, code blocks, quotes, tables, and links.
- Provider Support: Google Gemini, Ollama Cloud, OpenCode Go, and OpenCode Zen.
- Configurable Requests: Set the provider, model name, thinking level, and system prompt from Settings > LLM. Use Load models to fetch the provider's available models and select one, or enter a model name manually.
- Thinking Controls: Google supports
default,minimal(for Gemma models),low,medium, andhigh. Ollama Cloud supportsdefault,disable,low,medium, andhigh. OpenCode providers supportdefault,low,medium, andhigh. - Prompt Presets: The built-in
explain this wordsystem prompt can be selected directly. Custom system prompts can be saved with a name, selected later, or deleted from the prompt preset menu. - Secure API Keys: Provider API keys are stored separately in Android
EncryptedSharedPreferencesand are not written to regular user preferences. - Zen Without a Key: OpenCode Zen sends requests without an
Authorizationheader when no Zen API key is configured. A personal Zen key remains optional and, when entered, is stored encrypted.
- Archive Support: Instantly View images inside
zip,cbz,rar, and7zfiles without extraction. - View Modes: Single page, Dual page (LTR/RTL), and Split view.
- High-Quality Rendering: Image sharpening filters and Zoom Lock functionality.
- Remote Streaming: Real-time browsing and loading of archives from WebDAV servers without full downloads.
- Integrated Playback: Powerful video and music playback based on ExoPlayer.
- Background Playback: Service-based background playback support for music and audiobooks.
- WebDAV Support: Integration with private clouds (NAS, Nextcloud, etc.) for seamless file streaming.
- Library Management: Features for Recent Files, Favorites, and Pinning.
- Data Security: Secure storage of user settings and history using
SharedPreferencesandRoomDB.
- 🇺🇸 English
- 🇰🇷 한국어 (Korean)
- 🇯🇵 日本語 (Japanese)
Uviewer is built with the latest Android development technologies for a robust and fast experience.
- UI Framework: Jetpack Compose (Material 3)
- Language: Kotlin
- Media Engine: AndroidX Media3 (ExoPlayer)
- Image Loading: Coil
- Database: Room Persistence Library
- Networking: OkHttp & Jsoup
- Archive Handling: Junrar, Apache Commons Compress
- Math Rendering: KaTeX via WebView
- Android 8.0 (API Level 26) or higher
You can download the latest version from the Releases Page.
- Clone this repository.
- Open the project in Android Studio (Ladybug or later recommended).
- Sync Gradle and run the app.
Uviewer follows these design principles to provide a premium user experience:
- Fluid Animations: Smooth screen transitions and interactions powered by Compose.
- Full Dark Mode Support: A sleek Dark Mode UI that syncs with system settings.
- Responsive Layout: Flexible layouts optimized for both phones and tablets.
This project is distributed under the MIT License. See LICENSE for more information.
"Want to enjoy all your favorite content in one app without complex setups? Uviewer is the answer."



