- Easy 👉 Just point it to a URL and get an animated GIF!
- Cross-platform 👉 Works on Windows, Mac, Linux, without Docker!
- Headless 👉 Uses GoogleChrome/puppeteer
- Inspired 👉 By asciicast2gif and wanting to make it easier to use
yarn global add webgif || npm i -g webgif
To navigate to https://giphy.com/search/lol
and make an animated GIF of duration 10
seconds, execute:
webgif -u https://giphy.com/search/lol -d 10
Navigating to URL: https://giphy.com/search/lol
Taking screenshots: .............
Encoding GIF: /home/user/web.gif
webgif -u URL -d DURATION [-o OUTFILE]
Options:
--url, -u URL to generate GIF from
[default: "https://giphy.com/search/lol"]
--duration, -d GIF duration in seconds [default: 10]
--output, -o Output file name
[default: "web.gif"]
-h, --help Show help [boolean]
-V, --version Show version number [boolean]
- Use Puppeteer to launch a headless Chrome window
- Use
setInterval
to take screenshots and save them to disk - Navigate to target URL and wait for specified duration
- Use gifencoder and png-file-stream to create animated GIF out of saved screenshots
See code: index.js