Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TimeLapser

Desktop timelapse recorder: capture your monitor, a window, or a region at set intervals, with session management and export to social media formats.

Screenshots

Overlay (Record / Continue / Settings / Export) Export for social media (session + presets)
Overlay Export
Export presets (Instagram, YouTube, TikTok, GIF, LinkedIn…)
Export presets

Features

  • 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.

Install

Easiest: Download the latest installer or portable build from the Releases page. No Node.js or build step required.

Requirements

  • 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 run winget install FFmpeg. FFmpeg is licensed under the GPL v2+ / LGPL; source and license details: ffmpeg.org/legal.html.

Setup

npm install

Run (development)

  1. Build the Electron main process and start the dev server:
npm run build:electron
npm run dev
  1. In another terminal:
npm run electron

Or use a single command (builds electron, runs Vite, then launches Electron when the app is ready):

npm run build:electron && npm run electron:dev

Build (production)

npm run build
npm run electron

To package an installer:

npm run dist

Output is in release/.

Usage

  1. Record: Click ● Record to start a new session. Frames are saved under the output folder in session_YYYY-MM-DDTHH-mm-ss.
  2. Pause / Resume: Use ⏸ Pause and ▶ Resume within the same session.
  3. Stop: ■ Stop ends the session; the next Record will create a new session unless you use ▶ Continue.
  4. Continue: If you stopped or quit, ▶ Continue appends to the last session folder.
  5. 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.

Social platform limits (used for 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

Getting logs (troubleshooting)

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.log is appended each time you run TimeLapser.

What to do:

  1. Reproduce the issue (e.g. press Record, then Stop after a few seconds).
  2. Close TimeLapser so the log is flushed.
  3. Open the folder above and attach or copy the contents of main.log when 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.

Third-party

  • 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.

License

GPL-3.0-only. See LICENSE.

About

Create timelapses easily, record your screen or app in images and convert to video formats optimized for social media.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages