Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to take a screenshot of a website automatically at a time specified by me. Ideally it would not be using my computer since it's not guaranteed to be on at the specified time.

Is there some kind of web service that does this? Or some (free) hosting site where I could set up a script to do it (PHP comes to mind)? I do have a jailbreaked iPhone that could be used as well (jailbreaked = I have root access and could maybe do some cron magic).

share|improve this question

closed as off topic by random Aug 28 '12 at 4:47

Questions on Super User are expected to relate to computer software or computer hardware within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

PLease can someone elaborate why this belongs on SO. The OP is looking for a solution which may involve PHP but might not? – BinaryMisfit Oct 16 '09 at 6:55

10 Answers 10

You can start a session at . If you know how to do with cronjob it can be started at anytime I think.

share|improve this answer

You can use webcapture. A simple script using webkit and Qt.

share|improve this answer

You could look at this blog entry describing how to make a screenshot

As you see there is a php script which grabs the screenshot:


// save this snippet as url_to_png.php
// usage: php url_to_png.php
if (!isset($argv[1])){
    die("specify site: e.g.\n");

$md5 = md5($argv[1]);
$command = "wkhtmltopdf $argv[1] $md5.pdf";
exec($command, $output, $ret);
if ($ret) {
    echo "error fetching screen dump\n";

$command = "convert $md5.pdf -append $md5.png";
exec($command, $output, $ret);
if ($ret){
    echo "Error converting\n";

echo "Conversion compleated: $argv[1] converted to $md5.png\n"; 

However you'll need imagemagick and wkhtmltopdf:

sudo aptitude install imagemagick wkhtmltopdf

It should not take much imagination to setup a cron job which uses this script and then saves it to a folder.

share|improve this answer

You can use, here is an example.

share|improve this answer

A few months ago i had to do something similar and I found three small programs.

In Windows you can use an open source tool called IEcapt

Usage from the command line:

iecapt --url= --out=localfile.png

In Linux you can use html2jpg or Webthumb.

I used IEcapt and worked fine for me.

share|improve this answer

This article Website Thumbnail Creators (Website Snapshot Generators) discusses the several ways of achieving this goal. For example, it points to:

Free PHP Scripts :: Website Thumbnail Generator

Website Thumb Generator can be used to create website thumbnails for your needs, or start your own website thumbnail generation service.


  • Windows hosting
  • PHP GD library (installed on most hostings)
  • Permissions to execute third-party applications (i.e. exe files)
  • Permissions to execute Internet Explorer

How it works:

  • Website Thumbnail Generator checks if it already has website image in the cache, and shows it in the browser.
  • If no cached image then IECapt would be run from the script.
  • IECapt would run Internet Explorer, grab full sized website screenshot
    from it, and save image into the
    folder you specified in script
  • Then Website Thumbnail Generator would resize image, and show it in
    the browser.
share|improve this answer

iMacros for Firefox can be used to take full page web browser screenshots:

Start it via the task scheduler and command line:

share|improve this answer

You can try Webcron + a screenshot service like Browshot with their PHP library. You would also have to same/upload your screenshot somwhere, S3 for example.

share|improve this answer

I have used GrabzIt before for this kind of job they provide a simple to use PHP library. To use it you would need to do something along the lines of:

$grabzIt = new GrabzItClient();
$id = $grabzIt->TakePicture("");

//wait a certain amount of time and retrieve the screenshot

$result = $grabzIt->GetPicture($id); 

if (!$result){ return;}
file_put_contents("images/test.jpg", $result);
share|improve this answer

Would definitely recommend using an existing service rather than coding a new one. I use

They provide and excellent screen capture service and you can setup up automatic capture schedules too. And you can pin the screenshots to pinterest pretty easily too.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .