Browse Kotlin Multiplatform libraries

index data from klibs.io
Sort
Tagutility
annotation1.10.0
6.0k71 used by

Exposes metadata to help tools and developers understand code, offering common API annotations (including Java-compatible OptIn) and dependency artifacts for easy integration.

JSJVMNativeWasm·androidx·Apache License 2.0
zipline1.27.0
2.3k3 used by

Streamlines using JavaScript libraries from JVM and Native programs. Enables continuous deployment within mobile apps, user-customizable behavior, plugin systems, and updating business rules. Integrates the QuickJS JavaScript engine for fast, modular, and secure code execution.

AndroidJSJVMNative·cashapp·Apache License 2.0
RSS-Parser6.1.6
613

Parses RSS and Atom feeds, extracting data like titles, descriptions, links, and various multimedia attributes. Supports custom configurations for networking and character sets, and integrates with Java projects using CompletableFuture.

AndroidJSJVMNativeWasm·prof18·Apache License 2.0
colormath3.6.1
3708 used by

Library for color manipulation and conversion, supporting various color models and spaces. Includes features like color mixing, chromatic adaptation, WCAG contrast, perceptual difference calculations, gradient generation, and CSS-compatible color string rendering.

AndroidJSJVMNativeWasm·ajalt·MIT License
soundbound-extensions-lib0.29
227

Enhances personal experimentation and educational learning by enabling users to add custom sources to the Soundbound App via a provided repository link. Usage limited to non-commercial and lawful purposes.

AndroidJSJVM·Shabinder
byte-size2.2.1
2091 used by

Simplifies handling of file and data sizes, supporting conversions between units like bytes, kilobytes, megabytes, and gigabytes, along with arithmetic operations and human-readable formatting.

JSJVMNativeWasm·saket·Apache License 2.0
Highlights1.1.0
1874 used by

Syntax highlighting engine supports multiple programming languages, customizable themes, and efficient incremental updates. Emphasizes keywords, comments, and other code components, with built-in caching for optimal performance.

JSJVMNativeWasm·SnipMeDev·Apache License 2.0
alchemist0.2.0
1761 used by

Facilitates type-safe arithmetic operations for physical quantities using SI units, enabling logical modeling of quantities and customizable unit extensions with easy extensibility for custom formulas.

JSJVMNativeWasm·kevincianfarini·Apache License 2.0
kotlin-semver3.1.0
1555 used by

Implements semantic versioning specification, enabling parsing, comparing, incrementing, and validating semantic versions. Supports constraints, range conditions, and provides detailed handling of version components.

JSJVMNativeWasm·z4kn4fein·MIT License
spatial-k0.7.0.16+DIRTY
1378 used by

Set of libraries for working with geospatial data, including GeoJson implementation and a port of Turfjs, featuring a Kotlin DSL for building GeoJson objects.

JSJVMNativeWasm·maplibre·MIT License
si-units4.2.3
129

Comprehensive library facilitating the use of International System of Units in code, enhancing formula writing, dimensional analysis, and error detection in complex calculations without external dependencies.

JSJVMNative·vsirotin·Apache License 2.0
kotlinx-uuid0.1.7
1285 used by

Introduces support for universally unique identifiers (UUIDs), offering serialization capabilities and compatibility across various platforms. Integrates seamlessly with existing serialization libraries for enhanced data handling.

JSJVMNativeWasm·hfhbd·Apache License 2.0
Kotlin-Multiplatform-AppDirs2.0.0
1051 used by

Library facilitates access to platform-specific directories for storing application data, configurations, caches, and logs. Supports multiple methods for different directory types and respects platform-specific standards.

AndroidJSJVMNative·Syer10·Apache License 2.0
kasechange1.4.1
1001 used by

Converts strings between various case formats including snake_case, camelCase, and PascalCase, supports custom cases, and provides word splitting functionality. Ideal for consistent case formatting across diverse text processing tasks.

AndroidJSJVMNativeWasm·pearxteam·Mozilla Public License 2.0
fuzzywuzzy-kotlin1.0.0
91

Fuzzy string matching library for selecting the closest matching string from a collection, utilizing various algorithms. Useful in projects requiring approximate string matching.

AndroidJSJVMNative·willowtreeapps·Apache License 2.0
KMPUtils1.7.0
91

Expands standard library with missing utilities, including stateful text input validation, datetime extensions, coroutine enhancements, and more. Simplifies development with drop-in dependency and autocompletion support.

AndroidJSJVMNativeWasm·respawn-llc·Apache License 2.0
kotlin-inline-logger1.0.6
88

Facilitates lazily-evaluated log calls using inline classes and functions, integrating with SLF4J. Supports idiomatic logger declarations, resistant to cut-and-paste errors, and improves logging performance by avoiding unnecessary computations.

JVM·michaelbull·ISC License
buffer6.0.0
826 used by

Cross-platform library for allocating and managing byte arrays using an API similar to Java's ByteBuffer. Supports direct, heap, and shared memory allocation zones, enabling efficient memory management across different platforms.

AndroidJSJVMNativeWasm·DitchOoM·Apache License 2.0
finalization-hook0.1.0
782 used by

Runs a "hook" lambda after a code block, regardless of success, failure, or application termination. Useful for operations affecting external systems, like file locks.

JVMNative·JakeWharton·Apache License 2.0
doistx-normalize1.3.3
715 used by

Adds support for Unicode normalization as per Unicode Standard Annex #15, extending the `String` class with a `normalize(Form)` method, supporting NFC, NFD, NFKC, and NFKD forms.

JSJVMNativeWasm·Doist·MIT License
compose-shadow2.0.4
68

Implements drop and inner shadows for Compose, allowing customization of shadow properties like shape, color, offset, blur, and spread for enhanced UI design.

AndroidJSJVMNativeWasm·adamglin0·MIT License
logger0.10
67

Minimalistic logging library facilitating initialization, log level configuration, and various logging sinks (AndroidLog, Println, MemoryRing). Supports convenient log methods for info, debug, warning, and error.

AndroidJSJVMNativeWasm·sergejsha·Apache License 2.0
multiplatform-paths0.2.2
57

Handles platform-specific application home and cache directories. Provides functions to retrieve appropriate paths for data and cache storage based on the operating system and platform environment.

AndroidJSJVMNative·psuzn·Apache License 2.0
encoding2.6.0
5210 used by

Configurable, streamable, and extensible encoding/decoding library supporting Base16, Base32, and Base64 formats. Offers customization options, extension functions, and streaming capabilities for efficient data processing.

JSJVMNativeWasm·05nelsonm·Apache License 2.0
Difference1.1.1
52

Computes list differences by identifying required insertions, deletions, and optional move detections, using Eugene Myer's Differencing Algorithm. Offers platform-agnostic APIs and improved performance features.

JSJVMNative·andrewbailey·MIT License
geok1.2.2
48

Provides a small geometry library for handling basic geometric operations and data exchange using GeoJSON. Supports various geometries like Point, LineString, and Polygon with utilities for distance, area, and serialization.

JSJVMNative·piruin·MIT License
Kubit1.0.0-alpha03
48

Delivers micro-optimized utilities and data structures enhancing performance and memory efficiency, offering fast, allocation-conscious solutions to common operations with familiar APIs and seamless serialization.

AndroidJVMNative·mhss1·Apache License 2.0
libphonenumber-kotlin0.1.9
462 used by

Enhances phone number handling by addressing performance issues and reducing method count in Android applications. Offers a repackaged API and custom instantiation methods for streamlined usage.

AndroidJSJVMNativeWasm·luca992·Apache License 2.0
kotlin-tree3.1.0
45

Declarative APIs for managing multi-way tree data, facilitating easy conversion between tree structures, path enumeration, and adjacency models. Offers tree operations like mapping, filtering, and node manipulation.

AndroidJSJVMNative·YuitoSato·Apache License 2.0
kfin-state-machine5.0.60
44

Library for creating finite state machines allows defining states, transitions, and conditions for state changes. Includes sample applications like a dungeon explorer and a stopwatch, supporting various platforms.

JSJVM·ToxicBakery·Apache License 2.0
Page 1Next →