Privacy-first Android image sharing with on-device format conversion, quality optimization, and metadata stripping. Now exposes a cross-app Transform API for other apps to leverage the same pipeline without users leaving them.
- Privacy-first: nothing leaves the device. No telemetry, no analytics, no network calls.
- Smart sharing: top-3 most-used targets + alphabetical fallback, learned from your behavior.
- Format conversion: JPEG, PNG, WebP, HEIF, AVIF.
- Quality presets: Email (200 KB target), Web (1 MB target), Original, custom.
- Metadata control: strip all, preserve orientation-safe subset, or keep all.
- Transform API: other apps can leverage ImageShare's pipeline without users leaving them. See
docs/transform-api/.
ImageShare is pre-launch. For now, build and install a debug build from source on an Android device or emulator, then share images into ImageShare to convert, optimize, strip metadata, and forward them to your destination app.
// Gradle (when published)
implementation("com.imageshare:imageshare-api:<TBD>")See the integration guide, migration guide, and threat model.
Two sample host apps are available in samples/:
samples/minimal-host— barebones URI demosamples/picker-host— full user flow
| Module | Purpose |
|---|---|
:app |
Main Android app |
:core:io |
Storage + URI handling primitives |
:core:processing |
Decode / resize / encode pipeline |
:feature:preset |
Preset selection UI + smart-sharing chooser |
:sdk:imageshare-api |
Public SDK wrapper for third-party hosts |
:samples:minimal-host |
Minimal Transform API sample |
:samples:picker-host |
Picker-driven Transform API sample |
./gradlew :app:assembleDebug :app:testDebugUnitTest
./gradlew :app:connectedDebugAndroidTest # needs emulator
./gradlew :sdk:imageshare-api:assembleDebug :sdk:imageshare-api:testDebugUnitTestThe native JPEG and AVIF prebuilts are skipped by default; the Kotlin-only fallback handles all current functionality.
This repository is currently pre-launch scaffolding plus active Transform API work. APIs and UI may change before the first stable release.
- App minSdk: 29
- SDK minSdk: 24
- Sample-host minSdk: 26
- targetSdk: 36
- compileSdk: 36
- Java toolchain: JDK 17
See CONTRIBUTING.md. All contributors must abide by our Code of Conduct.
For vulnerability reports see SECURITY.md. Do not open public issues for security issues.
ImageShare is licensed under the GNU General Public License v3.0.
Note: The SDK module (:sdk:imageshare-api) is also GPL v3; apps that embed it via Gradle become subject to GPL v3. Apps that interact with the Transform API directly via ContentProvider/Intent (no SDK linkage) are not affected by the SDK's license, since IPC is not "linking" under GPL.
Copyright © 2024–2026 adsamcik.