LevelDb.Managed 1.1.0

dotnet add package LevelDb.Managed --version 1.1.0
                    
NuGet\Install-Package LevelDb.Managed -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LevelDb.Managed" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LevelDb.Managed" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="LevelDb.Managed" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LevelDb.Managed --version 1.1.0
                    
#r "nuget: LevelDb.Managed, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LevelDb.Managed@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LevelDb.Managed&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=LevelDb.Managed&version=1.1.0
                    
Install as a Cake Tool

LevelDb.Managed

CI NuGet

A pure managed .NET library for reading and writing LevelDB databases - no native binaries, no P/Invoke - with a Chromium layer on top for the stores Chromium-based apps (Chrome, Electron, CEF) keep on disk.

Two packages:

  • LevelDb.Managed - the LevelDB format itself: reading live databases lock-free (log, sstables, MANIFEST, correct newest-wins merge semantics), append-only writing via WriteBatch, and a raw record layer that surfaces superseded and deleted records for forensic use.
  • LevelDb.Managed.Chromium - Chromium's Local Storage on top of it: per-storage-key string key/value access, handling Chromium's key layout and value encodings.

Installation

dotnet add package LevelDb.Managed
dotnet add package LevelDb.Managed.Chromium

LevelDb.Managed.Chromium depends on LevelDb.Managed, so for Local Storage work the second command is all you need.

Usage

Reading a LevelDB database

using LevelDbManaged;

using ReadOnlyLevelDb db = LevelDb.OpenReadOnly(@"path\to\leveldb");

byte[]? value = db.Get("some-key"u8);

foreach ((byte[] key, byte[] val) in db.Enumerate())
{
    // newest-wins view of the current database state
}

Writing

using LevelDbManaged;

using LevelDb db = LevelDb.Open(@"path\to\leveldb");

WriteBatch batch = new();
batch.Put("key"u8, "value"u8);
batch.Delete("old-key"u8);
db.Write(batch);

Chromium Local Storage

using LevelDbManaged.Chromium;

using ReadOnlyLocalStorageStore store =
    LocalStorageStore.OpenReadOnly(@"...\User Data\Default\Local Storage\leveldb");

foreach (string storageKey in store.EnumerateStorageKeys())
{
    IReadOnlyDictionary<string, string> items = store.GetItems(storageKey);
}

Writing works the same way through LocalStorageStore.Open and PutItems.

Raw records (forensics)

using LevelDbManaged;

LevelDbRecordReader reader = new(@"path\to\leveldb");

foreach (LevelDbRecord record in reader.ReadRecords())
{
    // every record in the store, including superseded and deleted ones,
    // with sequence number, operation, and source file
}

Safety model

  • Reading never takes the LevelDB lock and is safe while the owning app has the store open; slightly stale data is possible.
  • Writing appends to the active log and requires the owning app to be closed.

Scope

Reading covers the full live file set (CURRENT, MANIFEST, write-ahead log, .ldb sstables with snappy compression). Writing is append-only: put/delete batches framed onto the active log, replayed by LevelDB/Chromium on next open - no sstable authoring, no compaction. The comparator is pluggable (bytewise by default). IndexedDB decoding is not included.

License

MIT

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on LevelDb.Managed:

Package Downloads
LevelDb.Managed.Chromium

Chromium Local Storage decoding on top of LevelDb.Managed - string key/value access per storage key to the Local Storage stores of Chrome, Electron, and CEF apps.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 118 8/24/2026
1.0.0 104 8/24/2026