Desktop timelapse recorder: capture your monitor, a window, or a region at set intervals, with session management and export to social media formats.
| Overlay (Record / Continue / Settings / Export) | Export for social media (session + presets) |
|---|---|
![]() |
![]() |
| Export presets (Instagram, YouTube, TikTok, GIF, LinkedIn…) |
|---|
![]() |
- Capture source: Full monitor (choose which one), or a custom region (crop rectangle).
- Settings: Time interval, output folder, resolution, image format (PNG/JPEG), and file size optimization (compression).
- Sessions: Each recording is one session. Pause keeps the same session; Stop or quitting starts a new session next time. Option to "Continue" into the last session.
- Overlay: Compact bar with Record / Pause / Stop and expandable settings. Always on top.
- Notifications: Option to open Windows Focus assist to reduce interruptions during recording.
- Export: Convert any session to video (MP4, WebM, or MOV) or GIF. Choose from a session selector (all sessions in the output folder). Each export target has its own video format (MP4/WebM/MOV) or can be GIF (or LinkedIn GIF with 5 MB / 500-frame limits). For GIF/LinkedIn GIF you get aspect ratio (16:9 or 9:16), resolution (480/720/1080/Full in advanced mode, or a fine resolution slider 240–1080 px in easy mode), quality, FPS, and max file size. Simple sliders (easy mode) for GIF: set number of frames, target file size, resolution (min. long side) in 30 px steps, and FPS; a result preview shows output frames, resolution, duration, and estimated file size so you can hit the sweet spot (e.g. under 5 MB for LinkedIn). Use presets for Instagram Reels/Stories, YouTube/Shorts, TikTok, and Facebook Reels/Stories, or Custom resolution/FPS. Add multiple export targets in one go. Video options: crop to fit aspect per preset, speed up to fit platform max duration, aspect ratio preview (9:16 or 16:9), optional background music and fade in/out, quality and max file size.
Easiest: Download the latest installer or portable build from the Releases page. No Node.js or build step required.
- Windows (tested on 10/11)
- Node.js 18+ (for development only)
- FFmpeg: Used for export to video. The app bundles a copy via
@ffmpeg-installer/ffmpeg, so you don’t need to install it for the built app. If the bundled copy isn’t available (e.g. in some dev setups), install from ffmpeg.org or runwinget install FFmpeg. FFmpeg is licensed under the GPL v2+ / LGPL; source and license details: ffmpeg.org/legal.html.
npm install- Build the Electron main process and start the dev server:
npm run build:electron
npm run dev- In another terminal:
npm run electronOr use a single command (builds electron, runs Vite, then launches Electron when the app is ready):
npm run build:electron && npm run electron:devnpm run build
npm run electronTo package an installer:
npm run distOutput is in release/.
- Record: Click ● Record to start a new session. Frames are saved under the output folder in
session_YYYY-MM-DDTHH-mm-ss. - Pause / Resume: Use ⏸ Pause and ▶ Resume within the same session.
- Stop: ■ Stop ends the session; the next Record will create a new session unless you use ▶ Continue.
- Continue: If you stopped or quit, ▶ Continue appends to the last session folder.
- Export: After stopping (or from the overlay while recording), use Export to open the export dialog. Select a session (or use the one just stopped), add one or more export targets. For each target choose a preset (e.g. Instagram Reels, YouTube Shorts, GIF, LinkedIn GIF, or Custom), set video format (MP4/WebM/MOV) for video or GIF options (aspect ratio, resolution, quality, number of frames, max file size). For GIF, enable Use simple sliders to tune frames, resolution (240–1080 px), and file size with a live result preview, then export.
| Platform | Max duration | Aspect | Resolution |
|---|---|---|---|
| Instagram Reels | 90 s | 9:16 | 1080×1920 |
| Instagram Stories | 60 s | 9:16 | 1080×1920 |
| YouTube Shorts | 60 s | 9:16 | 1080×1920 |
| YouTube (standard) | — | 16:9 | 1920×1080 |
| TikTok | 180 s | 9:16 | 1080×1920 |
| Facebook Reels | 90 s | 9:16 | 1080×1920 |
| Facebook Stories | 60 s | 9:16 | 1440×2560 |
If you run into errors (e.g. recording not starting, capture failures, export issues), the main process writes a log file that can help diagnose the problem.
Log file location (installed app):
- Windows:
%APPDATA%\timelapser\logs\main.log- To open the folder: press
Win + R, type%APPDATA%\timelapser\logs, press Enter. - The file
main.logis appended each time you run TimeLapser.
- To open the folder: press
What to do:
- Reproduce the issue (e.g. press Record, then Stop after a few seconds).
- Close TimeLapser so the log is flushed.
- Open the folder above and attach or copy the contents of
main.logwhen reporting the issue (e.g. in a GitHub issue or support request). You can trim to the last 50–100 lines if the file is large.
The log includes startup, recording start/stop, capture errors (with file path when a frame write fails), and overlay/renderer errors when reported.
- FFmpeg (ffmpeg.org) is used for video encoding on export. This software uses code from the FFmpeg project, licensed under the GPL v2+ / LGPL. FFmpeg source and full legal information: ffmpeg.org/legal.html.
GPL-3.0-only. See LICENSE.


