Read papers the way they deserve to be read.

A desktop PDF viewer that guides high-magnification reading with deep-learning layout analysis — line by line, block by block. Built for the calm, sustained reading of dense academic papers.

  • Desktop app for Linux & Windows
  • Free & open source (MIT)
  • AI layout model bundled in
railreader2 rail mode — the active line lit by the amber highlight at high magnification while the rest of the text block stays calm
01

What it is

A reading room for dense PDFs

railreader2 is a desktop PDF viewer for reading dense academic documents at high magnification. It uses deep-learning layout analysis to understand each page's structure — text, headings, figures, tables, equations — then guides you through it line by line, block by block.

A note on accessibility: railreader2 includes features that help readers with visual impairments — colour filters, line focus, high-contrast modes — but it is designed for comfortable reading at high magnification, not as a full assistive-technology solution. It is not a screen magnifier and may not suit users who need dedicated software with screen-reader integration, cursor tracking, or system-wide magnification.
02

Everything it does

Built around your document

A focused reading environment, not a screen magnifier — every feature works with the page's real structure.

Layout analysis

It reads the page before you do

A deep-learning model maps every page — text, headings, figures, tables, equations — and works out the reading order. Everything else builds on that.

Docling Heron by default, or PP-DocLayoutV3 as a drop-in alternative.

railreader2 showing AI layout analysis — detected text blocks, figures, and reading-order numbers overlaid on an academic page

Rail reading

One line at a time

Past your zoom threshold, navigation locks to the detected blocks and advances line by line. Optional line-focus dimming fades all but the current line, so your eye never loses its place.

Hold Ctrl to free-pan a figure; release to snap back.

railreader2 rail mode with line-focus dimming — the active line stays lit while surrounding lines fade

Visual comfort

Tuned to your eyes

GPU colour filters — amber, high-contrast, high-visibility, invert — on the page only, at any intensity. Each document keeps its own; press C to cycle.

railreader2 amber colour filter applied to a PDF page via a GPU shader

Find

Anything, in seconds

Full-text search in the side panel, grouped by page with context snippets and on-page highlights. Regex and case toggles; step between hits with F3.

railreader2 full-text search with a side panel of grouped results and highlighted matches on the page

Mark it up

Highlights, notes, and ink

Highlight, underline, pen, rectangles, and sticky notes from a radial menu — saved as native PDF annotations or a sidecar. Select, move, resize, undo; export or import as JSON or a flattened PDF.

railreader2 annotation tools — highlights, freehand pen, rectangles, and text notes on a PDF page

Stay organised

Your whole reading list

Open many PDFs in tabs, each with its own state. One side panel holds the outline, bookmarks, an index of every figure, table and equation, search, comments, and portals — and hands focus back to the page when you jump.

railreader2 with multiple PDF tabs open and the side-panel accordion showing the document outline

Smaller touches, everywhere

Portals — Linked Context

Link a “see Figure 3” to the figure itself, and it stays in view — docked, or in a detachable always-on-top pop-out window — as you rail-read past the reference. On-page markers show every link; click one to jump.

Line Highlight Tint

A colour tint on the active line — Auto, Yellow, Cyan, Green, or None, at adjustable opacity. Auto follows the active colour effect.

Semi-Automatic Auto-Scroll

Flows through prose on its own (P) and parks at equations, tables, figures, headings, and column/page breaks — press D/S to continue. Pan and zoom stay live while parked. Speed is zoom-independent and tunable with [ / ].

Jump Mode & Line Focus

Saccade-style jumps (J) advance by a set fraction of the view. Line-focus dim (F) fades inactive lines; toggle the highlight with H.

Render Quality

PDFium rasterises at a DPI proportional to zoom, up to a configurable preset (default 525 DPI, up to 800 — or Custom). Pan and zoom stay GPU-smooth and sharp.

Configurable Navigation

Choose which block types are navigable and which centre when narrow; tune zoom thresholds, scroll speed, and snap timing. Settings persist.

Margin Cropping

Fit the viewport to the detected content instead of the full page — no wasted whitespace, computed per document so it never clips. Toggle Ctrl+Shift+M.

Named Bookmarks

Bookmark any page with a name and jump to it from the side panel. "Back to previous location" returns you after a jump. Persists across sessions.

Copy as LaTeX

Send any equation, table, or figure to a vision model — LaTeX, Markdown, or a description, straight to the clipboard. Cloud or local API; see the setup guide.

Smooth Zoom & Dark Mode

Every zoom animates over 180ms with cubic ease-out, and rapid inputs accumulate fluidly. A dark UI theme is one click away in Settings.

Text Selection & Copy

Switch to Text Select on the floating toolbar to select and copy text from any page, with clear feedback for the active mode.

Motion Blur

Subtle directional blur on scroll and zoom for perceptual smoothness. Adjust with Shift+[ / ], or turn it off.

Diagnostic Logging

Each session writes a log for troubleshooting. Export it from Help → Export Diagnostic Log to attach to a bug report.

Headless Core Library

All logic lives in a rendering-agnostic RailReader.Core (zero Avalonia/SkiaSharp), fully unit-tested without a display. A standalone CLI reuses it for rendering, extraction, and batch VLM transcription.

Built by a statistics lecturer who reads at high magnification — and almost entirely with an AI coding agent. Read the story →

03

Five minutes

Getting Started

  1. Windows (Microsoft Store): Install directly from the Microsoft Store for automatic updates, no SmartScreen warnings, and clean install/uninstall. Note: the Store release may lag behind the GitHub release by a few days due to certification review.
  2. Windows (standalone) or Linux: Download the latest release from GitHub Releases — an AppImage for Linux or an installer for Windows. The AI layout model is included in all packages.
  3. Linux: Make the AppImage executable (chmod +x railreader2-linux-x86_64.AppImage) and run it. Windows (standalone): Run railreader2-setup-x64.exe and follow the installer wizard.
  4. Windows SmartScreen warning (standalone installer only): Windows may show a “Windows protected your PC” dialog because the standalone installer is not code-signed. This does not apply to the Microsoft Store version. To continue: click More info, then Run anyway. If your browser flags the download, choose Keep (Chrome) or Keep anyway (Edge). The full source code is available on GitHub.
  5. Open a PDF with Ctrl+O or pass it as a command-line argument. Zoom in to activate rail mode and start reading.

Advanced: A standalone headless CLI for automated batch extraction is also available from GitHub Releases.

04

At your fingertips

Keyboard Shortcuts

Key Action
General
Ctrl+OOpen file
Ctrl+WClose tab
Ctrl+TabNext tab
Ctrl+QQuit
Ctrl+,Settings
Ctrl+MToggle minimap
Ctrl+Shift+MToggle margin cropping
Ctrl+Shift+OOpen Outline section
Ctrl+Shift+BOpen Bookmarks section
Ctrl+Shift+IOpen Index section (figures / tables / equations)
Ctrl+LCopy block as LaTeX (VLM)
F1Keyboard shortcuts
Navigation
PgDn / PgUpNext / previous page
Home / EndFirst / last page
Ctrl+Home / Ctrl+EndFirst / last page (also from menu)
SpaceNext line (rail mode) or next page
View
+ / -Zoom in / out
0Fit page to window
F11Toggle fullscreen
Shift+DToggle debug overlay
Rail Mode
Down / SNext line
Up / WPrevious line
Right / DScroll forward (hold)
Left / AScroll backward (hold)
Home / EndLine start / end
PToggle auto-scroll (D/S to continue when parked)
JToggle jump mode (saccade-style advance)
BAdd bookmark for current page
` (backtick)Navigate back to previous location
CCycle colour effect on active tab
FToggle line focus dim
HToggle line highlight
Ctrl+DragFree pan/zoom in rail mode (release to snap back)
EscapeStop auto-scroll
[ / ]Adjust scroll speed or jump distance (±5)
Ctrl+[ / ]Fine adjust speed or jump distance (±1)
Shift+[ / ]Adjust blur intensity (±0.05)
Ctrl+Shift+[ / ]Fine adjust blur intensity (±0.01)
Search & Annotations
Ctrl+FOpen search panel
F3 / Shift+F3Next / previous match
EscapeStop auto-scroll / close search / cancel tool / exit fullscreen
Right-clickOpen annotation radial menu (thickness + colour rings)
Ctrl+ZUndo annotation
Ctrl+YRedo annotation
DeleteDelete selected annotation (browse mode)
Ctrl+CCopy selected text