Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

leveldb-sharp is a portable C# binding for the C API of the LevelDB library.

To support the most reach leveldb-sharp is available under the 3-clause BSD license, which is the same license LevelDB uses.

leveldb-sharp uses the C API instead of the C++ API for portability. Using C++/CLI would have been the direct route but it is currently not portable outside of Windows. As I use the binding for Smuxi which targets Linux, Windows and OS X, the C API was the better pick.


leveldb-sharp offers:

  • low-level function calls to LevelDB
  • high-level object oriented API with .NET enrichments (IEnumerable, IDisposable)
    • DB API
    • ReadOptions/WriteOptions/Options API
    • Write batch API
    • Iterator API
    • Cache API
    • Snapshot API
    • Compact range API
  • Allows combined use of low-level and high-level APIs
  • NUnit test-case coverage


Currently leveldb-sharp lacks:

  • comparator API (unsafe code? no thanks...)


Projects using leveldb-sharp