ToolActToolAct

Teleprompter

Paste your script, adjust the pace, and scroll it smoothly in fullscreen.

Script
Prompt StageAdd some script text to begin.
Add some script text to begin.
Progress: 0%Tip: manual scrolling also updates progress.

What is a teleprompter?

A teleprompter is a reading aid for recorded video, livestreams, speeches, and camera-facing presentations. Instead of forcing the speaker to look down at notes, it shows the script in large type and scrolls it at a controlled pace, making delivery more natural while reducing missed lines. A browser teleprompter suits solo creators because the script, speed, font size, line spacing, fullscreen view, and mirror mode can be adjusted quickly before recording. Mirror mode matters when the screen is reflected through teleprompter glass; fullscreen mode removes browser distractions. The goal is not only to display text, but to keep timing, eye contact, and speaking rhythm consistent.

How to Use

How to use

  1. Paste your script into the editor on the left.
  2. Tune speed, font size, line height, and mirror mode for your setup.
  3. Press start to scroll, pause when needed, or reset back to the top.
  4. Enter fullscreen for recording, presentations, or livestreaming.

Reading Setup

  • Test speed, font size, line height, and mirror mode before recording; comfortable settings differ by distance and screen size.
  • Keep paragraphs short and add pauses in the script so the scrolling rhythm matches natural speech.

Use Cases

Rehearse speeches with automatic scrollingPaste a script, set scroll speed, font size, and line height, then start the stage view. The viewport scrolls with requestAnimationFrame, tracks progress, and stops automatically when the end is reached. Rehearsals feel natural because the same controller handles dry runs, live takes, and resets between takes without changing the script text.
Use fullscreen or mirrored prompting setupsThe stage can enter fullscreen and mirror the text for reflector-style prompting. Playback, reset, fullscreen, and progress controls stay available, while settings and text are saved to localStorage between sessions. The script content remains in the browser tab and is never uploaded, which suits unreleased talks, embargoed announcements, or confidential client briefings.
Prepare scripts without losing draftsThe tool loads a localized sample, lets you clear or restore it, and distinguishes sample text from your own draft when saving. That makes it useful for rehearsals, livestream notes, video recording, and presenter practice. Keep a separate copy of important scripts before clearing browser storage, because localStorage is wiped when site data is cleared.
Calibrate scroll speed to WPM targetsAdjust the scroll speed until a 150 wpm passage completes in roughly the target duration, then save the value as your rehearsal baseline. The math is straightforward: words / target minutes = words per minute, and the scroll speed slider can be tuned to that rate. Reset between takes so the timing of each recorded segment is consistent rather than drifting as you speak.
Use mirror mode with a beam-splitter glass rigEnable mirror mode and fullscreen before placing a teleprompter glass at 45 degrees in front of the lens. The reflected text reads correctly to the speaker while the camera sees through the glass unobstructed, which is the standard setup for talking-head shoots. Match the font size to the viewing distance (typical 24-32 px per meter of glass-to-speaker distance) so the script stays readable without eye strain.

Technical Principle

Smooth scrolling is driven by requestAnimationFrame: each animation tick computes how many pixels to advance based on the user-chosen speed value and the time delta since the last frame, then applies transform: translateY(-Npx) on the script container. Transform-based scrolling stays on the GPU compositor thread, which keeps motion at 60 fps even on modest hardware, unlike scrollTop writes that would trigger layout each frame. Reading pace is approximately speed = words per minute * average word width / 60, so a 150 wpm narration with 50 px average word width needs about 125 px/s of scroll. Font size, line height, and viewport width all alter the effective wpm at the same speed setting, which is why the slider needs a quick calibration take before recording. Mirror mode applies transform: scaleX(-1) on the script container, producing the horizontally flipped text needed to read through a 45-degree beam-splitter teleprompter glass while the camera shoots through it unobstructed. Fullscreen display uses element.requestFullscreen() so browser chrome and notifications cannot intrude on the recording, while document.fullscreenchange tracks Esc-key exits. The script and all user settings (speed, font size, line height, mirror) are persisted to localStorage on every change so a refresh restores the rehearsal exactly. Manual scroll input via wheel or touchstart pauses the animation loop and resyncs the progress counter, which is what makes hand-tuning during a livestream possible without resetting the playhead.

  • Scroll loop: requestAnimationFrame at 60 fps applying transform: translateY(-Npx) — composited on the GPU, no layout per frame
  • Pace formula: scrollPxPerSecond = wpm * averageWordWidthPx / 60; 150 wpm at 50 px/word is about 125 px/s
  • Mirror mode: transform: scaleX(-1) for beam-splitter prompter glass at 45 degrees in front of the lens
  • Fullscreen: element.requestFullscreen() and document.exitFullscreen() with the fullscreenchange event to track Esc
  • Persistence: localStorage saves script, speed, font size, line height, and mirror flag so a refresh restores the rehearsal
  • Manual override: wheel and touchstart events pause the animation loop and resync the progress percentage to the new scroll position
  • Font sizing rule of thumb: about 24-32 px per meter of viewing distance keeps the script readable without eye strain

Examples

Three-minute keynote opener at 120 wpm

Script length: 360 words (about 3 minutes at 120 wpm)
Font size: 56 px  |  Line height: 1.6  |  Mirror: off
Scroll speed: 120 (matches 120 wpm)

"Good morning everyone. Today I want to talk about three things
that changed how our team ships software in the last quarter..."

YouTube tutorial recording at 150 wpm

Script length: 900 words for a 6-minute take
Font size: 42 px  |  Line height: 1.5  |  Mirror: off
Scroll speed: 150 (slightly faster, natural narration pace)
Fullscreen: on, browser chrome hidden so OBS captures only the script

Beam-splitter glass with mirror mode

Setup: 17" prompter glass at 45 degrees, speaker 1.2 m away
Font size: 64 px (~32 px per meter of distance)
Line height: 1.8  |  Mirror: ON (text reads correctly through glass)
Scroll speed: 100 wpm for an interview cadence

Livestream Q&A with manual pacing

Script: bullet talking points, ~200 words per section
Font size: 48 px  |  Mirror: off  |  Scroll speed: 80
Press Pause when reading a viewer question aloud,
then Resume so the script picks up exactly where you stopped.

FAQ

How is the teleprompter speed controlled?

A slider sets words-per-minute or pixels-per-second. Typical reading speed is 150-180 WPM for natural delivery; 200+ for fast-paced commentary. Adjust during reading with arrow keys or wheel scroll. Some builds auto-pause while you adjust.

Can I mirror the text for a real teleprompter rig?

Yes. The mirror toggle flips the text horizontally so it reads correctly when reflected in the angled glass of a hardware teleprompter. Without a rig, leave mirror off.

What happens if I lose my place?

Pause with space bar. Scroll back manually or jump to a paragraph using the navigation. Some builds support countdown-from-pause (3-2-1 then auto-resume) so you can recover smoothly during recording.

Is my script uploaded?

No. The script is processed entirely in your browser. Nothing is transmitted, nothing is logged. Save your script externally (text file, doc) for backup - the editor does not auto-save by default.

How do I make text bigger for the camera distance?

Adjust font size to match your eye-to-screen distance. Rule of thumb: 36-48 pt at 1 m (close for a phone), 60-80 pt at 2-3 m (typical webcam recording), 100+ pt for a TV across the room. The on-screen size reflects what you'll see, so test before recording.

Can I import a long document?

Yes - paste any plain text. Markdown, RTF, and Word documents must be converted to plain text first (most editors have copy-as-text). For very long scripts (multi-hour), break into segments to avoid scroll-position confusion.

Does it work on a tablet?

Yes - tablets in landscape orientation make excellent budget teleprompters. Mount with a tripod arm or a tablet teleprompter holder. Disable system notifications during use to avoid pop-ups during a take.