Welcome to the biReader Parallel Reading System.

Quick Start  Features  Loading content  Requirements  Inspiration

Designed to facilitate foreign language learning by comparative reading, biReader allows you to compare any two texts in its synchronized side-by-side display. Where supported, biReader will also read texts aloud in different languages and look up meanings of words in your native language.

Quick Start:

Click     and follow the prompts; click     for help.


  • Synchronized reading of left and right panes
  • Automatic vertical scaling of left and right panes
  • Click or tap a sentence to hear it read aloud
  • Click-and-drag over multiple sentences to hear them read aloud
  • Click-and-hold (tablet: long-tap) a word to hear it and see its definition
  • Adjustable font size, weight, and speaking speed

Loading content:

  • Download texts from cloud library
  • Open files from local storage
  • Drag-and-drop files, or
  • Paste text to right and/or left pane


A recent release of Chrome, Firefox, Safari, or Edge running on:
  • Desktop (Windows, Mac, Linux)
  • Tablet (Android, iPad)
  • Phone (Android, iPhone)


biReader was inspired by my experiences of reading of two languages in parallel in magazines like France-Amerique and books like those published by the Loeb Classical Library, in which the text of a piece in its original language is juxtaposed with the same text in your native tongue. Many find this a practical means of acquiring advanced understanding of foreign language syntax, usage, and vocabulary, while at the same time enjoying the content of a piece.

However, when reading a printed parallel text I always wondered how the foreign language would be pronounced. At first I set out to find a tablet-based parallel reader that would pronounce a sentences or words on demand. I found a few promising systems, but they had their shortcomings. Most only included texts from centuries past, and many did not read texts aloud.

One major difficulty was that the tablet readers relied on "alignment:" their input had to have each passage prematched with its corresponding sentence in the other language. This would seem a simple task for automation, but in reality automation is not fully possible because translators (rightly or wrongly) often do not translate a text one sentence at a time.

Having struggled with this issue for several years, I realized that the printed texts I enjoyed did not have sentence alignment yet I was still able to use them. So in biReader I dispense with sentence alignment and rely instead on line spacing and synchronized scrolling to display corresponding sections of two texts in parallel.

While at first this may seem like a step backwards, it actually encourages me to look beyond words to sentences and paragraphs as elements of meaning. I find it gives me a greater grasp of the translation than systems which spoon-feed me a sentence at a time.

It also allows a greater range of source material since texts do not need to be aligned before use. Hence biReader allows users to select, drag-and-drop, or paste material of their own choosing into its reading panes for immediate use.

If you find biReader enjoyable, or have suggestions for improvement, let me know at info@code-read.com.

biReader is currently an open source project, found at: https://github.com/code-read/biReader.


Sample text

For best performance with mobile devices, try full screen landscape mode:

biReader Help

Usage  Controls Hints  Problems 


  • Load two corresponding texts to the left and right panels by:
    • Using biReader's online library of parallel texts ()
    • Pasting text to either or both panels
    • Dragging and dropping file(s) to either or both panels
    • Clicking on title areas to load files from your computer.
  • Scroll the left or right panel and the other panel scrolls to its corresponding location. This is designed to facilitate parallel reading (normally, each panel shows the same text in a different language).
  • Click on a sentence to have it read aloud in its native language. If your browser does not support the language a warning will appear.
  • Click-and-hold on a word to see its definition in the window at the bottom of the screen.
  • Controls

       Load files from biReader's online library of parallel texts.
       Save contents of left and right panels to files on your computer.
       Alter settings such as font size and text-to-speech speed.
       Show information about current system status such as voices available, files loaded, your native language.
       This help screen.
    Click on title areas    Load files from your computer


    • biReader works best with Google Chrome. Mobile works best with Google Chrome's "Add to Home screen" option. Desktop works best with Chrome or Firefox.
    • You may provide texts of the same article in different languages by pasting them to the two panels, or drag-and-drop files to the panels, or click on the "load" buttons to select files from your computer. Or click on "Load Files from Online Library" to choose an existing pairing from the online library.
    • biReader will attempt to present the two texts as equal height, synchronously scrolling panels, and to pronounce a sentence in its native language when you click on it or a series of sentences when you click-and-drag over them.
    • It will also attempt to show a definition of a word if you click-and-hold (tablet: long-tap) on it. Note that you may also click-and-hold on portions of the resulting definition to "drill down" further.
    • For purposes of clicking on a sentence to have it spoken aloud, a sentence is any text starting with:
      • The beginning of the text
      • The first alphanumeric character following a sentence end (below)
      And ending with:
      • A sentence ending character like .?! followed by a space character
      • A double newline
      • A sentence separator character like 。
      • The end of the text
      (You may also click-and-drag over multiple sentences to have them spoken aloud).
    • Note that you may search using the browser's native search function(s)


    • Missing voices. On some platforms, you may be able to install more voices for your browser to use.
      • For Microsoft Edge, see https://www.groovypost.com/howto/install-change-languages-windows-10
      • For Android, see https://www.androidauthority.com/google-text-to-speech-multiple-male-female-voices-673214
    • On tablets and phones, long-tapping a word brings up Google Chrome's lookup function. This may be disabled via settings, or avoided by using Chrome's "Add to Home screen" option.
    PLEASE NOTE: biReader easily fails on invalid file input as no input validity checks are yet in place. Please load only plain text files to the left or right panel.

biReader version 

Your native language: 
Voices currently supported by your browser:
Source URL:

Drag-and-drop a file, or paste text here.

Drag-and-drop a file, or paste text here.

Click-and-hold a word for definition here. Translations provided by Glosbe.