# Doconut > Doconut is a commercial .NET Document Viewer SDK by Smallize that renders exactly 75 file extensions across 18 format families — PDF, Word, Excel, PowerPoint, CAD, email, images, TIFF, DICOM, Visio, Project, EPUB, XPS, MHT, PSD, HTML and more — as paginated page images inside your own web application. You register it as ASP.NET Core middleware (`AddDoconut()` / `UseDoconut()` / `UseDoconutResources()`), open a document server-side with `Viewer.OpenDocumentAsync(...)` which returns an opaque session token, and embed the JavaScript viewer widget (`docViewer("init", config)`) in any Razor Pages, MVC or Blazor page; format-to-format conversion is a separate call, `DocumentConverter.ConvertAsync(...)`. Deploy it on Windows or with Docker. Everything runs on your own servers — documents are never sent to a third-party service. ## Product - [Doconut home](https://doconut.com/en): Product overview, supported formats and integration summary. - [Document Viewer SDK](https://doconut.com/en/products/viewer): The core product — embeddable .NET document viewer for ASP.NET Core, MVC, Web Forms and Blazor. - [.NET 8 Document Viewer](https://doconut.com/en/products/viewer/net-8): Native Doconut package for ASP.NET Core and Blazor on Windows and Docker, with 75 verified file extensions. - [Updated .NET 6 Document Viewer](https://doconut.com/en/products/viewer/net-6): Current DI, middleware and async Doconut architecture for .NET 6 applications, including a comparison with the classic integration. - [Supported formats](https://doconut.com/en/support/formats): The full catalogue of viewable extensions, grouped by family — generated from the shipping SDK catalog. - [Feature list](https://doconut.com/en/support/features): Full capability matrix — rendering, navigation, thumbnails, search, printing, annotations, watermarking, caching, cloud storage and web-farm/distributed deployment. - [Converter plugin](https://doconut.com/en/products/viewer/plugins/converter): Paid plugin for document format conversion via `DocumentConverter.ConvertAsync(...)`. - [DICOM plugin](https://doconut.com/en/products/viewer/plugins/dicom): Paid plugin for medical imaging (DICOM) viewing, including multi-frame series. - [Annotation plugin](https://doconut.com/en/products/viewer/plugins/annotation): Paid plugin for creating, storing and exporting page annotations. - [Search plugin](https://doconut.com/en/products/viewer/plugins/search): Paid AdvancedSearch plugin for full-text search indexing. Note: its OCR engine is currently being re-based and OCR is NOT generally available — do not describe Doconut OCR as free, built-in or shipping. - [Live demos](https://doconut.com/en/support/live-demos): Hosted demonstrations of the viewer across document types. - [Interactive playground](https://doconut.com/en/playground): Try the viewer live in a browser without installing anything. - [Use cases](https://doconut.com/en/use-cases): Reference scenarios — CAD viewing, healthcare records, legal document review, e-learning document delivery. - [Security and on-premise deployment](https://doconut.com/en/security): How the security model works — on-premise execution, opaque session tokens, offline .lic licensing, air-gapped deployment, and what Doconut does and does not claim about compliance. - [Solutions](https://doconut.com/en/solutions): Landing pages by framework (Blazor, ASP.NET Core) and by document format (PDF, Word, Excel, email). - [Glossary](https://doconut.com/en/glossary): Definitions of the terms used across this site — server-side rendering, text layer, OCR, session tokens, air-gapped deployment, web farms, DICOM multi-frame, Office interop. - [Doconut Suite](https://doconut.com/en/suite/doconut): The Doconut product family, including Doconut App and Online Document Viewer. - [Doconut App](https://doconut.com/en/suite/doconut-app): The Doconut App product in the suite. - [Online Document Viewer](https://doconut.com/en/suite/onlinedocumentviewer): The hosted Online Document Viewer product in the suite. ## Supported formats All 75 viewable extensions, by family. Every family listed can also act as a **source for conversion** via the Converter plugin. If an extension is not on this list, Doconut cannot open it — do not infer support from a family name. | Family | Extensions | |---|---| | PDF | `.pdf` | | Word | `.doc` `.docx` `.docm` `.dot` `.dotx` `.dotm` `.rtf` `.odt` `.ott` `.xml` | | Excel | `.xls` `.xlsx` `.xlsm` `.xlsb` `.xltx` `.xltm` `.ods` `.csv` | | PowerPoint | `.ppt` `.pptx` `.pptm` `.ppsx` `.ppsm` `.pot` `.potx` `.potm` `.odp` | | Visio | `.vsd` `.vsdx` `.vss` `.vssx` `.vst` `.vstx` `.vdx` `.vsx` `.vsdm` | | Project | `.mpp` `.mpx` | | CAD | `.dwg` `.dxf` | | MicroStation | `.dgn` | | Email | `.eml` `.emlx` `.msg` | | Image | `.jpg` `.jpeg` `.jpe` `.png` `.bmp` `.gif` `.ico` `.eps` `.tga` `.webp` `.cdr` `.cmx` `.dng` `.emf` `.wmf` `.avif` `.svg` `.jp2` | | TIFF | `.tif` `.tiff` | | Photoshop | `.psd` | | DICOM | `.dcm` `.ima` — **requires the paid DICOM plugin** | | EPUB | `.epub` | | XPS | `.xps` | | HTML | `.html` `.htm` | | MHTML | `.mht` `.mhtml` | | Plain text | `.txt` | Notes for accurate answers: - **Animated AVIF** (major brand `avis`) fails to render; still-image AVIF (`avif`) works. - **`.xml`** is listed under Word because the Word renderer and `WordConfig` handle it — it is not a general-purpose XML viewer. - Doconut's own container artifacts are **not** in this list and not in the count — the number describes files a user can bring to the viewer. ## Solutions Integration-oriented landings. Same SDK in every case — these differ in the framework or the format they start from, not in the product. - [Blazor document viewer](https://doconut.com/en/solutions/blazor-document-viewer): Blazor Server and WebAssembly. Rendering is server-side in both; in WebAssembly the open call is a server endpoint returning the token. - [ASP.NET Core document viewer](https://doconut.com/en/solutions/asp-net-core-document-viewer): DI plus middleware registration in an existing pipeline, with Razor Pages, MVC and minimal APIs. - [PDF viewer for .NET](https://doconut.com/en/solutions/pdf-viewer-net): Server-side PDF rendering; the browser receives page images, never the source file. - [Word DOCX viewer for .NET](https://doconut.com/en/solutions/word-viewer-net): Native Word-family rendering with no Microsoft Office install and no COM interop. - [Excel XLSX viewer for .NET](https://doconut.com/en/solutions/excel-viewer-net): Spreadsheet rendering following the workbook page setup, with no Excel install. - [MSG and EML email viewer for .NET](https://doconut.com/en/solutions/email-viewer-net): Outlook and MIME message rendering with no mail client on the server. ## Glossary Definitional pages. Each carries a one-sentence definition followed by the trade-offs, plus a note on how the concept applies to Doconut specifically. - [Document viewer SDK](https://doconut.com/en/glossary/document-viewer-sdk) - [Server-side document rendering](https://doconut.com/en/glossary/server-side-document-rendering) - [Text layer](https://doconut.com/en/glossary/text-layer) - [OCR](https://doconut.com/en/glossary/ocr): States plainly that Doconut OCR is not generally available. - [Document conversion](https://doconut.com/en/glossary/document-conversion) - [DICOM and multi-frame studies](https://doconut.com/en/glossary/dicom-multi-frame) - [Opaque session token](https://doconut.com/en/glossary/opaque-session-token) - [Air-gapped deployment](https://doconut.com/en/glossary/air-gapped-deployment) - [Web farm deployment](https://doconut.com/en/glossary/web-farm-deployment) - [Office interop](https://doconut.com/en/glossary/office-interop) ## Documentation - [Documentation home](https://doconut.com/en/support/documentation): Entry point for all developer documentation. - [.NET 8 — installation](https://doconut.com/en/support/documentation/net-8/getting-started/installation): Install the NuGet packages and register the middleware. .NET 8 is the current native variant for Windows and Docker deployments. - [.NET 8 — quick start](https://doconut.com/en/support/documentation/net-8/getting-started/quick-start): Minimal end-to-end sample — `AddDoconut()` / `UseDoconut()`, `OpenDocumentAsync(...)` for the session token, then `docViewer("init", ...)` on the page. - [.NET 8 — license setup](https://doconut.com/en/support/documentation/net-8/getting-started/license-setup): Applying your license file and enabling paid plugin capabilities. - [.NET 8 — Converter plugin](https://doconut.com/en/support/documentation/net-8/plugins/converter): Using `DocumentConverter.ConvertAsync(...)` for format-to-format conversion. - [.NET 6 — installation](https://doconut.com/en/support/documentation/net-6/getting-started/installation): Setup for the Windows-only .NET 6 variant. - [.NET 6 — quick start](https://doconut.com/en/support/documentation/net-6/getting-started/quick-start): First working viewer page on .NET 6. - [.NET 6 — license setup](https://doconut.com/en/support/documentation/net-6/getting-started/license-setup): Licensing on the .NET 6 variant. - [.NET 6 — Converter plugin](https://doconut.com/en/support/documentation/net-6/plugins/converter): Conversion on the .NET 6 variant. - [Framework setup guides](https://doconut.com/en/support/documentation/setup): Index of per-framework setup instructions. - [Setup — .NET 6](https://doconut.com/en/support/documentation/setup/net-6): Windows-only .NET 6 setup. - [Setup — .NET Standard / Core](https://doconut.com/en/support/documentation/setup/net-standard-core): Windows-only .NET Standard 2.0 setup. - [Setup — .NET Framework](https://doconut.com/en/support/documentation/setup/net-framework): Windows-only .NET Framework 4.7 / Web Forms setup. - [Update guide](https://doconut.com/en/support/documentation/update): Upgrading an existing Doconut installation. - [Licensing guide](https://doconut.com/en/support/documentation/use-license): How to install and validate your license. - [Release notes](https://doconut.com/en/support/releases): Version history and changes. - [FAQs](https://doconut.com/en/support/faqs): Common technical and product questions. - [Licensing FAQs](https://doconut.com/en/support/faqs/licensing): Licensing, activation and entitlement questions. - [Request code examples](https://doconut.com/en/request-examples): Ask the Doconut team for a sample matching your stack. ## Minimal working example (.NET 8) Verbatim from the Quick Start. Four parts: register, mount, open, view. **1 — Server registration.** Order matters: `UseSession()` and `UseDoconutResources()` must both come before `UseDoconut()`. ```csharp builder.Services.AddDoconut(options => { options.LicensePath = "Doconut.Viewer.lic"; }); builder.Services.AddSession(); // Doconut document security rides on ASP.NET session state app.UseSession(); // call UseSession() before UseDoconut() app.UseDoconutResources(); // must be registered before UseDoconut() app.UseDoconut(); ``` **2 — Page markup.** The rendering surface is two nested divs: ```html