Open-source project
tcchen2026/VibeOffice avatar
tcchen2026/VibeOffice

VibeOffice: three browser office apps that read and write real Office files

A free office suite that runs in your browser, in the style of Office 2003. Nothing to install, no account, no server: documents are opened, edited and saved on your own computer.

1,020 stars152 forksJavaScriptApache-2.0

At a glance

What is it?
VibeOffice is a plain HTML and JavaScript office suite with a word processor, a spreadsheet and a presentation editor that open and save real docx, xlsx and pptx files entirely in the browser, with no server and no account. The interesting part is the lossless editing claim and how it is tested, against 4,697 files from public test collections.
Who is it for?
VibeOffice suits someone who needs to open or edit a Word, Excel or PowerPoint file on a machine where installing an office suite is not an option, and who values the file staying on their own disk.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 7 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Three separate apps, each named for its job

VibeOffice is not one application with three modes, it is three applications that share a look. The word processor is called Quire, the spreadsheet is Ledger, and the presentation editor is Lectern, and each has its own address under the same domain, with a template parameter that opens a document straight into a particular state, such as an event flyer for Quire or a loan amortization schedule for Ledger. The whole thing starts at a Start Center, where you open a file, pick something from Recent Files, or create a new document, spreadsheet or presentation from a blank page or from a template. The file formats are listed per app, and the spread is wide. Quire opens and saves docx, docm, dotx, dotm, rtf, htm and txt, as well as Markdown including a zip variant with pictures, and it handles PDF. Ledger covers xlsx, xlsm, xltx, xltm, csv, XML Spreadsheet 2003 and htm, plus PDF. Lectern handles pptx, pptm, ppsx, ppsm, potx and potm, and exports PDF, PNG and htm.

The Office 2003 look is a deliberate compatibility decision

The interface is styled after the classic Office 2003 era, and the reason given is that there is nothing new to learn. The menus, toolbars and task panes imitate what that generation of software looked like, and the command, menu and template names follow Office's where people know them. That is an unusual design choice for a new project, and it is a bet on the assumption that a person opening a file for the first time in twenty years will not be looking for a new interaction model. The other three reasons in the list are about what the software does rather than how it looks. Lossless editing means you can open what colleagues send you and save files built to open in Microsoft Office and LibreOffice. Private means everything runs on your machine with no server behind it, no upload and no sign-in. Installable means that in Chrome or Edge you can install it from the Start Center, after which it opens docx, xlsx and pptx files from your file manager as if it were a desktop application.

What it cannot edit, it writes back byte for byte

This is the core engineering claim, and it is stated in unusually precise terms. The goal is that you edit a file here, save it in the same format, and send it to someone using Microsoft Office, where it opens without an error or a repair message, with your changes in place and everything else exactly as it was. The rule is that anything VibeOffice cannot edit for now, it keeps. VBA macros, embedded objects, SmartArt in layouts it does not have, video and audio, ink, 3-D models, custom XML and Office's newer extensions are written back byte for byte. Content it does edit keeps its original names and IDs, so links, comments and animations still point where they did. Edits change only what you changed: moving or resizing an object the app cannot edit changes only its position, and setting a shape's shadow leaves its unsupported attributes alone. Each application also keeps its own features, so Word keeps content controls and their data bindings, comments, watermarks and section properties, Excel keeps pivot tables, slicers, timelines, threaded comments with mentions, form controls and query tables, and PowerPoint keeps media, sections, custom shows, tags, actions and effects.

A compatibility checker instead of a silent failure

The most defensible design decision in the project is the refusal to lose data quietly. If a save would drop something you would miss, the Compatibility Checker shows a warning. That is the opposite of the usual behaviour of a lighter weight editor, which is to save what it understands and discard the rest without telling you, and it is the difference between a tool you can trust with a colleague's file and one you cannot. The claim is tested rather than asserted. 4,697 real files from public test collections, naming LibreOffice, Apache POI and the Open XML SDK, are opened, saved, edited, undone and recovered, and every save is compared with the original. There is a document, docs/LOSSLESS_SAVE.md, that records where the apps stand today, the known gaps and what comes next. Reading that file is the honest way to assess the project, because a headline claim of lossless editing is only as good as the list of exceptions behind it, and the project publishes that list.

Compatibility was built from the standards, and checked from outside

The legal and engineering notes in the README are unusual in their detail, and they answer the questions a careful adopter would ask. VibeOffice reads and writes Office Open XML, the file format published as the standards ECMA-376 and ISO/IEC 29500, and it is written from those standards and from the format documentation Microsoft publishes. Compatibility is checked from the outside, side by side: files from public test collections are opened, edited and saved, and the results compared with what other programs make of the same files. LibreOffice and Microsoft Office are used in testing, as installed programs, to check that files work in both, and no code from either is part of VibeOffice. It was not built by examining Office's program code, with no decompiling or disassembling and no confidential documentation. The project is also explicit that it is not affiliated with, endorsed by or sponsored by Microsoft Corporation or The Document Foundation, and that the names appear only to say which files it works with and which programs it was tested against. The licence is Apache License 2.0, and the repository holds the LICENSE file alongside a legal section that covers the code taken from other projects.

AI-written code and a review process against resemblance

The project states plainly that it is written with the help of AI coding assistants, and then explains what it does about the risk that creates. Such tools are trained on large amounts of public code, which may include LibreOffice and other office software, and can occasionally produce code that resembles what they were trained on. To reduce that risk, the code is reviewed on an ongoing basis against the open source projects it could most plausibly resemble, which the README names as LibreOffice, Apache OpenOffice, OnlyOffice and Gnumeric, along with common open source libraries. Code that matches or closely resembles work under terms the project does not accept is removed and rewritten independently, from published standards and mathematics, or replaced by an equivalent under a compatible licence. Code that matches permissively licensed work is kept and credited, as its licence requires, and the contribution rules in AGENTS.md apply the same terms to all new code. The first full review was completed in October 2026, which is worth knowing when you weigh how much of the codebase has been through that process.

Plain HTML and JavaScript, with no build step

The technical footprint is deliberately small, and that is a real constraint on what the project can be. VibeOffice is plain HTML and JavaScript with no build step, which means you can read a file in the repository and understand it, and there is no toolchain to install before you can contribute. The documentation for running it locally and testing is in docs/testing.md, and AGENTS.md holds the design rules. The repository layout is organised around that: a public directory for what ships, a tests directory, a tools directory, a desktop directory, a docs directory and a todos directory. The desktop directory sits alongside a public directory for what ships, and the installable behaviour lives at the browser level, since in Chrome or Edge the app installs from the Start Center and then handles office files from the file manager. The release history shows a stream of dated builds with commit hashes in the tag names, two of them on the same day, and the last push was on 2026-10-18. A project that tags by date and hash rather than by semver is telling you that it expects to move quickly and does not promise interface stability.

Editorial conclusion

VibeOffice suits someone who needs to open or edit a Word, Excel or PowerPoint file on a machine where installing an office suite is not an option, and who values the file staying on their own disk. It does not suit someone who needs the deep feature set of a full office suite, since the lossless story is about preserving what the app cannot edit rather than about covering everything, and it does not suit a team that has to reason about long term file fidelity across many round trips. Before adopting it, read docs/LOSSLESS_SAVE.md for the current known gaps, and test it on the specific file types you actually work with, because the compatibility claims are checked from the outside rather than certified.

Frequently asked questions

Does VibeOffice send my documents to a server?

No. The project states that everything runs on your machine, with no server behind it, no upload and no sign-in. Documents are opened, edited and saved on your own computer.

Can VibeOffice open real Microsoft Office files?

Yes, and the formats are listed per app. Quire opens and saves docx, docm, dotx, dotm, rtf, htm, txt and Markdown, Ledger handles xlsx, xlsm, xltx, xltm, csv and XML Spreadsheet 2003, and Lectern handles pptx, pptm, ppsx, ppsm, potx and potm.

What happens to features VibeOffice cannot edit, such as VBA macros or embedded objects?

They are written back byte for byte. VBA macros, embedded objects, SmartArt in unsupported layouts, video and audio, ink, 3-D models, custom XML and newer Office extensions are preserved, and content that is edited keeps its original names and IDs so links, comments and animations still point where they did.

How is the lossless editing claim tested?

4,697 real files from public test collections, including LibreOffice, Apache POI and the Open XML SDK, are opened, saved, edited, undone and recovered, with every save compared with the original. The current known gaps and what comes next are recorded in docs/LOSSLESS_SAVE.md.

Official sources

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. tcchen2026/VibeOffice on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/tcchen2026-vibeoffice.svg)](https://hysenlabs.com/projects/tcchen2026-vibeoffice)

Was this useful?