A nosleep-style short is a slow horror read: a specific detail in the first line, a normal explanation that fails, then a last line that should not be on screen before the voice says it. OfTale can time a story you paste, preview it with the browser's speech, and download the script and subtitles. It will not fetch a nosleep post, and it will not render a horror video. The tool is free and does not ask you to sign up.
For a post that is not horror, use the Reddit story to video script page. A judgment thread fits the AITA voiceover script. If you do not have permission to narrate someone's horror story, public-domain horror is the safer source, as the horror story to YouTube Shorts page describes.
This is the studio's built-in r/nosleep sample, original demo text titled "My new apartment walls whisper my name every night at 3:33 AM". Loading it sets these five beats. The blocks below are the Script (.txt) and sentence-mode Subtitles (.srt) files that download produces from those beats.
=== OFTALE SCRIPT EXPORT === Title: My new apartment walls whisper my name every night at 3:33 AM Source: r/nosleep Beats: 5 | Est. voiceover: ~28s @150wpm Voice preview uses your browser's built-in TTS (audio not included in export). --- BEATS --- [00:00 - 00:05] My new apartment walls whisper my name every night at exactly 3:33 AM. [00:05 - 00:10] At first I thought it was the pipes. Old building, thin walls, right? [00:10 - 00:16] Then last night the whispering said something new: 'We know you can hear us.' [00:16 - 00:22] I recorded it on my phone. Playback revealed a second voice I never heard live. [00:22 - 00:27] The landlord just texted: 'The previous tenant left the same way. Don't answer them.'
1 00:00:00,000 --> 00:00:05,200 My new apartment walls whisper my name every night at exactly 3:33 AM. 2 00:00:05,200 --> 00:00:10,400 At first I thought it was the pipes. Old building, thin walls, right? 3 00:00:10,400 --> 00:00:16,000 Then last night the whispering said something new: 'We know you can hear us.' 4 00:00:16,000 --> 00:00:22,000 I recorded it on my phone. Playback revealed a second voice I never heard live. 5 00:00:22,000 --> 00:00:27,600 The landlord just texted: 'The previous tenant left the same way. Don't answer them.'
That .srt file is the default Subtitles download: one cue per beat. The menu can also split cues into 1 word, 2–3 words, or on punctuation, and Subtitles (.vtt) writes the same sentence cues as WebVTT for YouTube and web players. In sentence mode the whole last beat is on screen for its full span, so a viewer can read "Don't answer them" before the voice finishes that sentence. The shorter cue modes split the .srt only. The .vtt download stays one cue per beat.
r/nosleep authors keep their stories, and the community reports narration posted without a yes. This example was written for OfTale. It is not a post from the subreddit.
Load the nosleep sample or paste a story you have the right to use — free, no signup.
Open the studioNo. The speed slider only changes browser playback, from 0.75x to 1.25x. Script and subtitle timestamps stay at 150 words per minute, and each beat is at least 1.2 seconds.
No. It is original demo fiction included with the studio. Do not present it as a real nosleep story. The script and SRT on this page are what the studio downloads when that sample is loaded.
The author keeps the rights. r/nosleep readers and writers object to narration posted without permission. Ask first, credit the author, and skip any story whose author said no. This page's example is OfTale's own demo, not a copied post.
Neither. You get a text script, a browser voiceover preview, and .srt or .vtt subtitles. The text files have no watermark. There is no video renderer and no audio file in the download.
A post URL loads the title and the subreddit name only. Paste the story text to build the beats. A link that is not a post URL is rejected.
Sentence mode, the studio default: one cue per beat. The subtitle menu can also use 1 word per cue, 2–3 words per cue, or a split on punctuation. Subtitles (.vtt) is the sentence cues in WebVTT.