SwiftCompressor 0.2.1

SwiftCompressor 0.2.1

LangLanguage SwiftSwift
License MIT
ReleasedLast Release May 2020
SPMSupports SPM

Maintained by Piotr Sochalewski.

  • By
  • Piotr Sochalewski


Version License Platform


iOS 9.0+, macOS 10.11+, watchOS 2.0+, tvOS 9.0+

Swift 3


To run the example project, clone the repo, and run pod install from the Example directory first.


SwiftCompressor is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SwiftCompressor"


SwiftCompression is a Data extension. It lets you easily compress/decompress Data objects this way:

// Create NSData from file
let path = URL(fileURLWithPath: Bundle.main.path(forResource: "lorem", ofType: "txt")!)
let loremData = try? Data(contentsOf: path)

// Compress and then decompress it!
let compressedData = try? loremData?.compress()
let decompressedData = try? compressedData??.decompress()

// You can also choose one of four algorithms and set a buffer size if you want.
// Available algorithms are LZFSE, LZMA, ZLIB and LZ4.
// Compression without parameters uses LZFSE algorithm. Default buffer size is 4096 bytes.
let compressWithLZ4 = try? loremData?.compress(algorithm: .lz4)
let compressWithLZMAReallyBigBuffer = try? loremData?.compress(algorithm: .lzma, bufferSize: 65_536)


Piotr Sochalewski, [email protected]


SwiftCompressor is available under the MIT license. See the LICENSE file for more info.