Native install

Install ReadingVox in Canvas

You upload one JavaScript file to your Canvas theme. Every student then gets a listen button with word-by-word highlighting on course content. No LTI app, no student accounts, nothing to install on student devices.

About 10 minutesNeeds: Canvas account or sub-account adminWorks in mobile browsersNot in the Canvas mobile app

Before you start

  • Canvas admin rights on the account whose theme you'll change: the root account (everyone) or a sub-account (just the courses in it). To use a sub-account, a root admin must first turn on Let sub-accounts use the Theme Editor to customize their own branding in the root account's Settings.
  • Custom JavaScript enabled for your Canvas account. Instructure controls this. If the Theme Editor has no JavaScript file field on its Upload tab, ask your Instructure Customer Success Manager (CSM) to enable custom JavaScript uploads.
  • A ReadingVox Institution plan or pilot. Start a free 30-day pilot from Institution pricing. No card or sales call needed.
  • Your Canvas address, as students type it, for example yourschool.instructure.com or a custom domain like canvas.yourschool.edu.

Pilot with one department first

Upload the file to a sub-account theme and only courses in that sub-account get ReadingVox. When you're ready, add it to the root account theme.

Install steps

  1. Step 1: Download your Canvas file from the ReadingVox dashboard

    Sign in at readingvox.com/dashboard and open Billing. In the Add ReadingVox to your LMS card, enter your Canvas address and click Download readingvox-canvas.js.

    readingvox.com/dashboard/billing

    Add ReadingVox to your LMS

    (Step marker 1)Canvas address
    yourschool.instructure.com
    (Step marker 2)Download readingvox-canvas.js
    1. Marker 1: The address students use for Canvas. Your file only works on this address.
    2. Marker 2: Downloads readingvox-canvas.js, already set up with a key. There's nothing to edit.

    Illustration — your screen may look slightly different.

    Each download creates a new key locked to the address you typed. Using Canvas on more than one address (a custom domain, or your .beta.instructure.com / .test.instructure.com instance)? Download a file for each one.

  2. Step 2: Open Themes in Canvas

    In Canvas, click Admin in the left global navigation, then choose your account (or the sub-account you're piloting with). In the account menu, click Themes. Open the theme your account currently uses in the Theme Editor.

    yourschool.instructure.com/accounts/1/brand_configs

    Account menu

    • Courses
    • People
    • Statistics
    • Permissions
    • Sub-accounts
    • (Step marker 1)Themes
    • Settings

    Themes

    (Step marker 2)

    Your school theme

    Current theme

    Canvas default theme

    1. Marker 1: Themes, in the account (or sub-account) menu.
    2. Marker 2: The theme in use. Open it in the Theme Editor.

    Illustration — your screen may look slightly different.

  3. Step 3: Upload the file as the theme's JavaScript file

    In the Theme Editor, switch to the Upload tab. Next to JavaScript file, choose readingvox-canvas.js. Leave the mobile app fields empty.

    yourschool.instructure.com/accounts/1/theme_editor
    Edit
    (Step marker 1)Upload
    CSS file
    Choose file(leave as is)
    (Step marker 2)JavaScript file
    Choose filereadingvox-canvas.js
    Mobile app CSS file
    Choose file(leave empty)
    Mobile app JavaScript file
    Choose file(leave empty)

    (Step marker 3)Preview Your Changes
    1. Marker 1: The Upload tab in the Theme Editor's left panel.
    2. Marker 2: JavaScript file: choose readingvox-canvas.js.
    3. Marker 3: Preview Your Changes builds a preview so you can save it.

    Illustration — your screen may look slightly different.

    Already have a custom JavaScript file?

    Uploading a new file replaces the old one. Instead, open your existing file, paste the contents of readingvox-canvas.js at the very end, and upload the combined file.
  4. Step 4: Preview, save, and apply

    Click Preview Your Changes and wait for the preview to build. Then click Save theme (name it if Canvas asks) and Apply theme. Until you apply it, students won't see any change.

    yourschool.instructure.com/accounts/1/theme_editor

    Preview of your changes

    (Step marker 1)Save theme
    (Step marker 2)Apply theme
    1. Marker 1: Save theme stores your change.
    2. Marker 2: Apply theme makes it live for the account (or sub-account).

    Illustration — your screen may look slightly different.

Check that it works

  1. Open a course Page, Assignment, or the Syllabus. Use Student View in a course to see what students see.
  2. Look for the ReadingVox button in the bottom-right corner. Press it, then press play. Words are highlighted as they're read.
  3. Open the course's Grades page. There should be no ReadingVox button there; that's expected.

ReadingVox reads course content only: pages, assignments, the syllabus, discussions, announcements, and quiz text. It never runs on grades, the gradebook, SpeedGrader, Inbox, People, settings, profiles, admin pages, submissions, or any edit page.

Phones and tablets: it works when Canvas is opened in a mobile browser (Safari, Chrome). It doesn't run inside the Canvas Student app.

Troubleshooting

There's no JavaScript file field on the Upload tab

Custom JavaScript isn't enabled for your Canvas account. Ask your Instructure Customer Success Manager (CSM) to enable custom JavaScript (and CSS) uploads in the Theme Editor.

Using a sub-account? Also check that the root account allows sub-accounts to use the Theme Editor (root account Settings).

Our Canvas uses a Content Security Policy (CSP)

No script-src entry is needed: the uploaded file contains the whole widget and never loads scripts from anywhere. Add readingvox.com to connect-src (text to read, settings), media-src (audio, plus blob:) and font-src (the OpenDyslexic font) in Admin → Settings → Security.

How do updates work?

Your Canvas only runs the version you uploaded. When we release an update, download a fresh readingvox-canvas.js from your dashboard and upload it the same way. The header of the file shows the date it was generated and the build's SHA-256, so your security team can compare versions.

The ReadingVox button doesn't appear

  • Theme not applied. Open Themes again and check that your saved theme is the current one. Saving without Apply theme changes nothing.
  • Wrong account or sub-account theme. The course must be in the account or sub-account whose theme you changed.
  • Address doesn't match. The file only works on the address you entered in the dashboard. If students use a different address (for example a custom domain), download a file for that address too.
  • Cached page. Reload the page with Ctrl+Shift+R (Cmd+Shift+R on a Mac), or try a private window. Theme changes can take a few minutes to reach every user.
  • Page type. ReadingVox doesn't appear on grades, Inbox, People, settings, or edit pages, on purpose.
  • Pilot or plan ended. Check the Billing page in your dashboard.

It reads with a different, robotic-sounding voice

That's the device's built-in browser voice. ReadingVox switches to it for new sentences when your monthly fair-use cap is reached (during a pilot: 2M characters a month until your first payment). Audio that was already generated keeps playing in the natural voice, students never see an error, and the cap resets monthly. Email [email protected] if you hit it regularly.

A PDF, file, or embedded tool isn't read

Documents in Canvas's file viewer and content from embedded tools (LTI apps, publisher content, videos) run in their own frames, which ReadingVox can't read yet. It reads content written in Canvas itself.

Remove ReadingVox

  1. In Canvas, go to Admin → your account → Themes and open the current theme in the Theme Editor.
  2. On the Upload tab, clear the JavaScript file. If you combined our file with your own, upload your file again without the ReadingVox part.
  3. Click Preview Your Changes, then Save theme and Apply theme.
  4. Optional: in the ReadingVox dashboard, Revoke the key on the API Keys page so the old file stops working everywhere, and cancel your plan or pilot on the Billing page.

Data & privacy

What ReadingVox receives

  • The text a student chooses to play, translate, or simplify, so we can turn it into audio.
  • Standard request details: IP address, browser type, and the page address (without its query string).
  • Your ReadingVox key, which identifies your institution, not the student.

What it doesn't

  • Student names, email addresses, Canvas user IDs, or grades.
  • Anything from grades, Inbox, People, settings, or submission pages. ReadingVox doesn't run there.
  • On Institution plans, the text being read isn't stored in our usage logs.

Sub-processors, retention, FERPA terms, security answers, and documents (DPA, VPAT, HECVAT Lite, W-9).

For IT & procurement

Looking for the overview and pricing? ReadingVox for Canvas · All install guides

Other install guides

Stuck on a step?

Email [email protected] with your platform, the step you're on, and a screenshot of what you see. We answer every message.

Email support