Skip to main content
NVDA add-ons extend the screen reader’s functionality with additional features, support for specific applications, language enhancements, and more. The NVDA community has created hundreds of add-ons to customize and enhance the user experience.

Overview

Add-ons are packages that extend NVDA’s capabilities beyond its core features. They can:
  • Add support for specific applications
  • Enhance existing functionality
  • Provide new speech synthesizers or braille drivers
  • Add language support and translations
  • Implement custom navigation commands
  • Integrate with external services
  • Provide development tools
Add-ons are created by the NVDA community, not by NV Access (NVDA’s primary developer). Always review add-ons before installing to ensure they meet your needs and come from trusted sources.

NVDA Add-on Store

The Add-on Store is the official distribution platform for NVDA add-ons, introduced to provide safe, easy add-on discovery and installation.

Accessing the Add-on Store

  1. Open NVDA menu → Tools → Add-on Store
  2. Or press NVDA+N, then T, then A

Add-on Store Features

Browse Add-ons

Discover available add-ons with descriptions, ratings, and download counts

Search

Find specific add-ons by name, author, or functionality

One-Click Install

Install add-ons directly without manual file management

Automatic Updates

Get notified of and install add-on updates easily

Reviews

Read community reviews and ratings before installing

Categories

Browse by category (Applications, Languages, Tools, etc.)

Installing from Add-on Store

  1. Open Add-on Store
  2. Browse or search for desired add-on
  3. Select the add-on to view details
  4. Click “Install”
  5. Restart NVDA when prompted
Most add-ons require restarting NVDA before they become active. NVDA will prompt you to restart after installation.

Manual Add-on Installation

You can also install add-ons manually from .nvda-addon files.

Installing Add-on Files

  1. Download the .nvda-addon file
  2. Open the file (press Enter on it)
  3. NVDA will display add-on information
  4. Click “Install” to proceed
  5. Restart NVDA when prompted

Installation Locations

Add-ons can be installed in two locations:
Location: %APPDATA%\nvda\addons\
  • User-specific installation
  • Persists across NVDA updates
  • Recommended for most users
  • Easily managed through Add-on Store
Location: {NVDA_install}\systemConfig\addons\
  • System-wide installation (all users)
  • Requires administrator privileges
  • Used for organizational deployments
  • Managed by IT administrators
Only install add-ons from trusted sources. Malicious add-ons could compromise your system security. The Add-on Store reviews all submissions for basic safety.

Application Support

Add-ons that improve NVDA’s support for specific applications:
  • Office Applications: Enhanced Microsoft Office, LibreOffice support
  • Web Browsers: Advanced navigation for Chrome, Firefox, Edge
  • Development Tools: IDE support (VS Code, Eclipse, Visual Studio)
  • Media Players: Accessibility for Spotify, VLC, Foobar2000
  • Communication: Enhanced Skype, Teams, Discord support
  • Email Clients: Advanced Outlook, Thunderbird features

Language and Translation

Add-ons providing language support:
  • Input Methods: Support for Asian language input
  • Braille Tables: Additional braille translation tables
  • Speech Dictionaries: Language-specific pronunciation
  • Localization: Interface translations
  • OCR: Optical character recognition in various languages
  • Enhanced Navigation: Advanced object navigation commands
  • Quick Keys: Custom keyboard shortcuts
  • Clipboard Tools: Enhanced clipboard management
  • Window Management: Virtual desktop and window switching
  • Time and Date: Enhanced time/date announcement

Development Tools

  • Developer Toolkit: Inspect accessible objects and properties
  • Remote Access: Control NVDA remotely
  • Testing Tools: Accessibility testing utilities
  • Logging: Enhanced debug logging
  • API Tools: Add-on development helpers

Synthesizers and Braille

  • Speech Synthesizers: Additional TTS engines
  • Braille Drivers: Support for additional displays
  • Braille Enhancements: Advanced braille features
  • Voice Tuning: Enhanced voice control

Managing Add-ons

Installed Add-ons Manager

View and manage installed add-ons:
  1. NVDA menu → Tools → Manage Add-ons
  2. View list of installed add-ons
  3. Select add-on to see details
  4. Enable, disable, or remove add-ons

Add-on Actions

Temporarily disable without uninstalling:
  1. Open Manage Add-ons
  2. Select add-on
  3. Click “Disable”
  4. Restart NVDA
Disabled add-ons remain installed but inactive.
Re-enable a disabled add-on:
  1. Open Manage Add-ons
  2. Select disabled add-on
  3. Click “Enable”
  4. Restart NVDA
Uninstall an add-on:
  1. Open Manage Add-ons
  2. Select add-on to remove
  3. Click “Remove”
  4. Confirm removal
  5. Restart NVDA
Check for and install updates:
  1. Open Add-on Store
  2. Select “Updatable” tab
  3. View available updates
  4. Click “Update” for specific add-ons
  5. Or “Update All” for all available updates
  6. Restart NVDA

Add-on Compatibility

Version Compatibility

Add-ons specify compatible NVDA versions:
  • Minimum Version: Oldest NVDA version supported
  • Maximum Version: Newest tested NVDA version
  • API Version: NVDA API compatibility level
NVDA may disable add-ons that aren’t compatible with your version. Check the Add-on Store or add-on website for updated versions.

Incompatible Add-ons

When NVDA updates, some add-ons may become incompatible:
  1. NVDA will warn about incompatible add-ons
  2. Choose to disable or remove them
  3. Check Add-on Store for updates
  4. Contact add-on author if updates aren’t available

Testing Compatibility Override

For advanced users testing add-ons:
  1. NVDA menu → Tools → Manage Add-ons
  2. Select incompatible add-on
  3. Choose “Enable anyway” (if available)
  4. Use with caution - may cause instability
Enabling incompatible add-ons may cause NVDA to crash or behave unexpectedly. Only do this for testing purposes.

Developing NVDA Add-ons

Developers can create custom add-ons to extend NVDA’s functionality.

Getting Started

Key resources for add-on development:

Add-on Structure

NVDA add-ons follow a specific directory structure:
myAddon/
├── addon/
│   ├── globalPlugins/       # Global plugins (always active)
│   ├── appModules/          # Application-specific modules
│   ├── synthDrivers/        # Speech synthesizer drivers
│   ├── brailleDisplayDrivers/ # Braille display drivers
│   ├── locale/              # Translations
│   └── doc/                 # Documentation
├── manifest.ini             # Add-on metadata
└── readme.md                # Add-on description

Manifest File

The manifest.ini defines add-on metadata:
name = myAddon
summary = My NVDA Add-on
description = Detailed description of functionality
author = Your Name <email@example.com>
version = 1.0.0
minimumNVDAVersion = 2023.1.0
lastTestedNVDAVersion = 2024.1.0
url = https://github.com/yourname/myaddon

Plugin Types

Loaded when NVDA starts, active in all applications:
  • Add universal commands
  • Monitor system-wide events
  • Provide global functionality
  • Independent of specific applications
Location: addon/globalPlugins/myPlugin.py
Application-specific enhancements:
  • Improve support for specific programs
  • Add custom keyboard commands
  • Handle application-specific events
  • Activated only when specific app has focus
Location: addon/appModules/appname.py
Speech synthesizer implementations:
  • Interface with TTS engines
  • Provide voice output
  • Support speech parameters
  • Implement SynthDriver API
Location: addon/synthDrivers/mysynth.py
Braille display support:
  • Communicate with braille hardware
  • Handle braille input
  • Implement display protocol
  • Extend braille support
Location: addon/brailleDisplayDrivers/mydisplay.py

Building Add-ons

Use the Add-on Template to build add-ons:
# Clone template
git clone https://github.com/nvaccess/AddonTemplate.git

# Install dependencies
pip install -r requirements.txt

# Build add-on
scons

# Result: myAddon-1.0.0.nvda-addon
The build process:
  1. Validates manifest
  2. Compiles translations
  3. Packages files into .nvda-addon archive
  4. Creates distribution-ready package

Testing Add-ons

Test add-ons during development:
  1. Scratchpad Directory: Place add-on in scratchpad/addons/ for testing
  2. Developer Mode: Enable NVDA log level to “Debug”
  3. Python Console: Use NVDA’s Python console for debugging (NVDA+Control+Z)
  4. Reload Plugins: Press NVDA+Control+F3 to reload plugins without restarting
The Python console allows you to inspect NVDA’s internal state, test API calls, and debug add-on code interactively.

Submitting to Add-on Store

To make your add-on available to all NVDA users:

Submission Process

  1. Prepare Add-on:
    • Complete development and testing
    • Write comprehensive documentation
    • Include translations if possible
    • Ensure compatibility with latest NVDA
  2. Submit to Store:
    • Follow Submission Guide
    • Create GitHub repository for add-on
    • Submit metadata to add-on datastore
    • Await review by NVDA community
  3. Review Process:
    • Community reviews code and functionality
    • Basic security and compatibility checks
    • Feedback provided for improvements
    • Approval or requested changes
  4. Publication:
    • Approved add-ons appear in Add-on Store
    • Automatic updates through store
    • User reviews and ratings
    • Download statistics

Submission Requirements

  • Open Source: Add-on code must be publicly available
  • License: Compatible with NVDA’s GPL license
  • Documentation: User-facing documentation required
  • Manifest: Complete and accurate metadata
  • Testing: Compatibility with specified NVDA versions
  • Security: No malicious code or security vulnerabilities
The add-on store submission process helps ensure quality and safety, but community review is not a guarantee of perfection. Users should still exercise judgment when installing add-ons.

Community Resources

Communication Channels

NVDA Add-ons List

Mailing list for add-on users and developers groups.io/g/nvda-addons

NVDA API List

Official developer mailing list NVDA API

GitHub Discussions

Official NVDA discussions GitHub

Community GitHub

Community coordination nvdaaddons

Additional Resources

Best Practices

For Users

  • Install only add-ons you need
  • Keep add-ons updated
  • Review add-on descriptions and ratings
  • Disable add-ons if experiencing issues
  • Provide feedback to developers
  • Report bugs through proper channels

For Developers

  • Follow NVDA coding standards
  • Maintain backward compatibility when possible
  • Document all features thoroughly
  • Respond to user feedback
  • Keep add-ons updated with NVDA releases
  • Use version control (Git)
  • Write comprehensive changelogs
  • Provide multi-language support when feasible

Troubleshooting Add-ons

  • Verify .nvda-addon file isn’t corrupted
  • Check NVDA version compatibility
  • Ensure sufficient disk space
  • Try restarting NVDA with add-ons disabled
  • Check NVDA log for error messages
  • Restart NVDA with add-ons disabled (NVDA+Control+F3 at startup)
  • Disable suspect add-on in Manage Add-ons
  • Check for add-on updates
  • Report issue to add-on developer
  • Check NVDA log file for error details
  • Verify add-on is enabled
  • Check if application is supported
  • Ensure compatible NVDA version
  • Review add-on documentation
  • Look for conflicting add-ons
  • Check internet connection
  • Try manual download and installation
  • Clear NVDA cache (restart NVDA)
  • Temporarily disable antivirus
  • Check Add-on Store connectivity