FileKit is a Kotlin Multiplatform library for file operations. It provides a platform-agnostic file API and UI components for file operations.

Supported Platforms

FileKit supports the following targets:

  • Android
  • iOS, macOS
  • JVM (Windows, macOS, Linux)
  • JS, WASM

FileKit Core

FileKit Core provides the fundamental file operations with the PlatformFile abstraction. It allows you to work with files in a platform-agnostic way. You can create, read, write, and delete files using the PlatformFile API.

implementation("io.github.vinceglb:filekit-core:0.10.0-beta01")

Once installed, you’ll need to perform platform-specific setup for some targets.

FileKit Dialogs

FileKit Dialogs helps you display file-related dialogs to users like file pickers, directory pickers, photo pickers, save dialogs, camera access, and more. FileKit Dialogs comes in two flavors:

// Enables FileKit dialogs without Compose dependencies
implementation("io.github.vinceglb:filekit-dialogs:0.10.0-beta01")

// Enables FileKit dialogs with Composable utilities
implementation("io.github.vinceglb:filekit-dialogs-compose:0.10.0-beta01")

FileKit Dialogs automatically integrates with FileKit Core and provides PlatformFile support. For platform-specific setup instructions, see the Dialogs Setup Guide.

FileKit Coil Integration

FileKit provides a Coil extension to load images from a PlatformFile object. This makes it easy to display images from files in your Compose UI.

implementation("io.github.vinceglb:filekit-coil:0.10.0-beta01")

Next Steps

Now that you’ve installed FileKit, you can learn more about: