LibreAAC is an offline-first augmentative and alternative communication (AAC) application. It uses Open Board Format files as its native vocabulary format and runs as an installable web application.
The current application can:
- load individual
.obfboards and packaged.obzboard sets; - present Android-supplied bundled openboards in the local library and import each archive on first use;
- keep a protected local library in the browser;
- present grid-based communication boards and follow board links;
- build, speak, copy, backspace, and clear an output phrase;
- use embedded sound resources or device text-to-speech;
- edit button text, behavior, and colours behind an explicit editing lock;
- browse every board in a package and save back to OBF or OBZ;
- retain unknown Open Board Format fields and opaque package files when saving;
- handle numerical and string IDs consistently, hidden buttons, localized labels, scanning, and display/speech preferences; and
- work without a network connection after its first successful load.
Requires Node.js 22 or later.
npm install
npm run devVite prints the local URL. Open it in a current browser, then load an OBF/OBZ
file. Android builds can also supply the reviewed board selection recorded in
the public
openboards repository.
For production builds, tests, and validation commands, see BUILD.md. For install and hosting choices, see INSTALL.md. Format sources are recorded in REFERENCES.md.
Vocabulary working copies and preferences are stored in the browser's IndexedDB database. LibreAAC has no application server, account system, analytics, or telemetry. Remote media URLs contained inside a vocabulary may still cause the browser to contact their hosts when that media is displayed or played.
Bundled archives are listed without unpacking them. Opening one imports its working copy into IndexedDB through the same parser used for a user-selected OBZ file. This avoids unpacking every large archive during application startup.
Saved files are separate from the protected local working copy. Clearing site data removes the local library, so important vocabularies should also be saved as files and backed up.
The companion
libreaac-android repository
packages a pinned release of this web application in a small native WebView
shell. It does not fetch the live web application at runtime.
Copyright © 2026 Luke Howson and LibreAAC contributors.
LibreAAC is free software licensed under GNU GPL version 3 only.