Bit.Bink 10.7.0

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Bit.Bink --version 10.7.0
                    
NuGet\Install-Package Bit.Bink -Version 10.7.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="Bit.Bink" Version="10.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bit.Bink" Version="10.7.0" />
                    
Directory.Packages.props
<PackageReference Include="Bit.Bink" />
                    
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 Bit.Bink --version 10.7.0
                    
#r "nuget: Bit.Bink, 10.7.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 Bit.Bink@10.7.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=Bit.Bink&version=10.7.0
                    
Install as a Cake Addin
#tool nuget:?package=Bit.Bink&version=10.7.0
                    
Install as a Cake Tool

Bit.Bink

A native drawing and ink engine for Blazor: signature fields, handwriting, whiteboards, image markup and document review. The stroke model, smoothing, pressure response, hit testing, undo, serialization and export are written in C#. JavaScript only collects pointer and keyboard input and replays a command buffer onto a canvas - there is no JavaScript drawing library underneath.

Quick start

dotnet add package Bit.Bink
@* _Imports.razor *@
@using Bit.Bink

No services to register and no stylesheet to reference: the package's Blazor initializer injects _content/Bit.Bink/bit-bink.css automatically.

<BinkCanvas @ref="_canvas" Height="180px" AriaLabel="Sign here"
            DocumentChanged="() => StateHasChanged()" />

<button @onclick="() => _canvas!.Clear()">Clear</button>
<button @onclick="SaveAsync">Save</button>

@code {
    private BinkCanvas? _canvas;

    private async Task SaveAsync()
    {
        string svg = await _canvas!.ExportSvgAsync(new BinkSvgExportOptions { Region = BinkExportRegion.Content });
        string json = BinkSerializer.Serialize(_canvas.CurrentDocument);
        // store either one; BinkSerializer.Deserialize + LoadDocument brings the drawing back
    }
}

Pick what pointer input does with Tool (BinkDrawTool, BinkEraserTool, BinkSelectTool, BinkShapeTool, BinkTextTool, BinkPanTool) and how ink looks with Brush (BinkPenBrush, BinkPencilBrush, BinkMarkerBrush, BinkHighlighterBrush).

Features

  • Pressure-aware, variable-width ink with smoothing, simulated pressure, tilt and twist capture.
  • Stroke, segment and pixel erasers.
  • Selection, lasso, move, resize and rotate through transforms, snapping to a grid and to other elements; layers with visibility, lock and opacity.
  • Copy, cut and paste through the system clipboard (images and text included), duplicate, Alt-drag copies and bring-to-front, each with its usual shortcut and one undo step.
  • Shapes, arrows, highlights, callouts, text with a real HTML editor, and images.
  • Undo and redo built on inverse operations, never snapshots, with long drags compacted to one step per element.
  • A versioned, compact JSON format with binary stroke points, hardened against untrusted input.
  • SVG, PNG, JPEG and WebP export that match the screen, including a pure .NET PNG path for servers and tests.
  • Ink measurements (length, stroke count, duration) for validating signatures.
  • Real-time collaboration over any transport, with presence and offline queueing.
  • Palm rejection, pinch zoom, mouse wheel and trackpad pan and zoom, coalesced samples, high-DPI canvases and an opt-in low-latency canvas.
  • Retained rendering: the browser keeps every path it has drawn, so redrawing a large page costs a few numbers per element, over WebAssembly and over a Blazor Server circuit alike.
  • A labelled, keyboard-operable canvas with a live text summary for screen readers.
  • Blazor WebAssembly, Server, Web App (including prerendering) and Hybrid on .NET 8, 9 and 10.

For AI agents

The demo site hosts an MCP server at https://bink.bitplatform.dev/mcp that answers from the shipped library: its API, its guide and the demo's working pages.

Documentation

The full guide - architecture, brushes and pressure, erasing, selection and layers, annotations, serialization, export, hosting models, mobile and stylus, accessibility, performance, collaboration and extending the library - is in the Bink README. See it running at bink.bitplatform.dev.

Product Compatible and additional computed target framework versions.
.NET 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 is compatible.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Bit.Bink:

Package Downloads
Bit.Bcrdt.Bink

bit Bcrdt as the collaboration backend for bit Bink: BcrdtBinkBinding keeps a BinkDocument and a collaborative map in step in both directions - every layer and element an entry of its own, keyed by id, one key per property, so concurrent edits of different elements or of different properties of one element all survive - with one transaction per gesture, no echo, selective collaborative undo and cursor and selection presence.

Bit.Bmage.Bink

Connects Bit.Bmage images and Bit.Bink drawings: open a photo, screenshot or scan as the locked bottom layer of a Bink document to sign, mark up or annotate it, then render the drawing back into a Bmage image, flatten it onto the original, or keep it as a separate Bmage layer that stays editable. Everything runs in managed code, on the device or on a server.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
11.0.0-pre-18 40 11/11/2026
11.0.0-pre-17 57 11/4/2026
11.0.0-pre-16 66 11/2/2026
11.0.0-pre-15 69 10/27/2026
11.0.0-pre-14 62 10/26/2026
11.0.0-pre-13 65 10/26/2026
11.0.0-pre-12 59 10/26/2026
11.0.0-pre-11 72 10/25/2026
11.0.0-pre-10 76 10/18/2026
10.7.0 98 10/25/2026
10.7.0-pre-04 94 10/25/2026
10.7.0-pre-03 88 10/22/2026
10.7.0-pre-02 94 10/22/2026