Definition. OfficeAPI is a document engine written in Rust that gives a product two capabilities for office files without sending them to a hosted service: conversion (read a document and write it in another documented format) and preview (render a document for display inside the product).
What does OfficeAPI do?
- Conversion — 42 documented format pairs across Word, Excel, and PowerPoint: 34 input formats and 15 output formats, including PDF, images, and CSV. See the conversion matrix.
- Preview — 32 documented extensions rendered for display in your own UI. See the preview list.
Where does it run?
On 6 operating systems: Windows, Linux, macOS, Android, iOS, and HarmonyOS. It is designed for offline execution and can be deployed on a local device or in a cloud environment you manage.
How do you call it?
There are 2 integration paths:
- Dynamic library — link OfficeAPI into your application. Bindings are provided for 5 named languages (Rust, Go, Java, C++, Python) and other popular languages.
- Process invocation — run OfficeAPI as a separate process and communicate across that boundary.
See Choosing between the dynamic library and process invocation.
Why is it written in Rust?
The 5 documented advantages of OfficeAPI follow from its Rust implementation:
| Advantage | What it means for your product |
|---|---|
| Cross-platform, simple to integrate | One engine for desktop, mobile, and server |
| Memory safety and high performance | Parses large, old file formats without trading speed for safety |
| Broad format coverage, strong compatibility | Office Open XML, 97–2003, WPS, OpenDocument, PDF, images, CSV |
| Fully offline | Local device or self-managed cloud; no upload |
| Zero dependencies | Nothing to install beside the engine |
How is OfficeAPI different from a hosted conversion API?
| OfficeAPI | Hosted conversion service | |
|---|---|---|
| Where the file is processed | On your device or your servers | On the vendor's servers |
| Network required | No | Yes |
| Integration | Dynamic library or process | HTTP API |
| Dependencies | None | Network client, credentials |
How do you get started?
- Check your input and output formats in the conversion matrix or the preview list.
- Pick an integration path: dynamic library or process.
- Confirm your target platforms are among the 6 supported operating systems.
- Deploy on the device or in your own environment; see Running OfficeAPI fully offline.
Frequently asked questions
Is OfficeAPI a SaaS product?
No. It is an engine you embed or run yourself. There is no hosted upload step.
Does OfficeAPI require Microsoft Office or WPS to be installed?
No. OfficeAPI has zero dependencies and does its own reading, writing, and rendering.
Which languages can call OfficeAPI?
Rust, Go, Java, C++, Python, and other popular languages through the dynamic library; any language that can start a process through process invocation.