Take a full page screenshot with Firefox on the command-line
Solution 1
The Developer Toolbar GCLI and Shift+F2 shortcut were removed in Firefox version 60. To take a screenshot in 60 or newer:
- press Ctrl+Shift+K to open the developer console (⌥ Option+⌘ Command+K on macOS)
- type
:screenshot
or:screenshot --fullpage
Find out more regarding screenshots and other features
For Firefox versions < 60:
Press Shift+F2 or go to Tools > Web Developer > Developer Toolbar to open a command line. Write:
screenshot
and press Enter in order to take a screenshot.
To fully answer the question, you can even save the whole page, not only the visible part of it:
screenshot --fullpage
And to copy the screenshot to clipboard, use --clipboard
option:
screenshot --clipboard --fullpage
Firefox 18 changes the way arguments are passed to commands, you have to add "--" before them.
Firefox 88.0 has a new method for taking screenshots. If extensions.screenshots.disabled
is set to false
in about:config, you can right-click the screen and select Take Screenshot. There's also a screenshot menu button you can add to your menu via customization.
You can find some documentation and the full list of commands here.
PS. The screenshots are saved into the downloads directory by default.
Solution 2
Update 2018-07-23
As was just pointed out in the comments, this question was about getting a screenshot from the command line. Sorry, I just read over that. So here is the correct answer:
As of Firefox 57 you can create a screenshot in headless mode like this:
firefox -screenshot https://developer.mozilla.com
Read more in the documentation.
Update 2017-06-15
As of Firefox 55 there is Firefox Screenshots as a more flexible alternative. As of Firefox 57 Screenshots can capture a full page, too.
Original answer
Since Firefox 32 there is also a full page screenshot button in the developer tools (F12). If it is not enabled go to the developer tools settings (gear button) and choose "Take a fullpage screenshot" at the "Available Toolbox Buttons" section.
source: developer.mozilla.org
By default the screenshots are saved in the download directory. This works similar to screenshot --fullpage
in the toolbar.
Solution 3
I ended up coding a custom solution (Firefox extension) that does this. I think by the time I developed it, the commandline mentioned in enreas wasn't there.
The Firefox extension is CmdShots. It's a good option if you need finer degree of control over the process of taking the screenshot (or you want to do some HTML/JS modifications and image processing).
You can use it and abuse it. I decided to keep it unlicensed, so you are free to play with it as you want.
Solution 4
I think what you are looking for is a utility which enables you to save a complete page opened in your browser into a png file. Most probably you are looking for a utility like commandlineprint2.
After installing the extension, you just need to type the command:
firefox -print http://google.com -printfile ~/foo.png
Solution 5
Firefox Screenshots is a new tool that ships with Firefox. It is not a developer tool, it is aimed at end-users of the browser.
To take a screenshot, right-click on an empty space on the page, and choose "Take Screenshot". If you then click "Save full page", it will save the full page, scrolling for you.
(source: mozilla.net)
Related videos on Youtube
Comments
-
Artem Shmatkov about 3 years
I'm running Firefox on a Xvfb in a VPS. What I want to do is to take a full page screenshot of the page.
I can redirect Firefox to particular page using
firefox http://google.com
and take a screenshot (inside X) using ImageMagick
import root -window output.jpg
The problem is, most of the page need scrolling and I can't know the height beforehand.
The other way is to pick a very big height (like 4000px) and then process the image and remove the useless part. But that's unnecessary processing.
I found many Firefox add-ons, but I'm looking for a solution that can be programmed using the Shell Command line.
Edit: I ended up writing my own FireFox extension for doing this.
-
Rufo El Magufo over 11 yearsI've seen some webkit cli tools for take screenshots but I don't remember the names.
-
-
SamB almost 10 yearsHmm, that's not what "unlicensed" means: it actually means you don't give any permission for any use, which is clearly not true since in that very sentence you also say it's okay to use, abuse, and play with it as you want. Perhaps you want something like the CC0?
-
mbokil over 9 yearsIf you want to just copy the screenshot to your clipboard directly use screenshot --clipboard --fullpage
-
Kir Kanos over 9 yearsFor those having Firebug opening on F12, the developer tools are available with Ctrl+Shift+K or Ctrl+Shift+I. Just... in case... someone never used them before.
-
tremby over 9 yearsThat command doesn't work in a javascript console, so is there a link to more information about this toolbar? What else can it do?
-
Snowcrash about 9 yearsThose keyboard shortcuts don't work on the Mac. Use Tools > Web Developer > Toggle Tools. And, yes, the screenshot button is disabled by default. Click the Settings icon to enable.
-
null almost 9 yearson Mac, you can open the developer tools with
cmd
+alt
+i
-
Tom over 8 yearsJust FYI you can also select DOM notes through the inspector and then
right-click
->screenshot node
. This is super helpful when you want to screenshot a section of a page. -
Mohnish about 8 yearsFull page screenshot to clipboard -
screenshot --clipboard --fullpage
Screenshot of a particular node (by Id) -screenshot --clipboard --selector #elementId
-
kap about 7 yearsFor those "unlicensed" things I prefer this: wtfpl.net It clearly states what is allowed without legal BS.
-
Artem Shmatkov over 6 years@SamB I randomly stumbled on your comment. Yeah, I know 3 years later. The problem is that if I write a License, I already complicated things. The NOLICENSE approach is to simply stuff.
-
Hammer Bro. almost 6 yearsFirefox Screenshots uploads screenshots taken to Mozilla's servers. They did not make this obivous enough for me to notice in advance. Fortunately the image in my case wasn't too sensitive, though it was internal. Be warned.
-
Mouagip almost 6 years@HammerBro. You can click on "download" if you don't want the screenshot to be uploaded to Mozilla's servers. But I agree that the implications of the default behavior is probably not obvious to most users.
-
Flimm almost 6 yearsPlease folks, don't use custom license. I know people try to avoid legal nonsense by writing their own license, but they end up doing the opposite, causing legal head-aches for people as they try to figure out what the custom license actually means. See choosealicense.com
-
Quentin almost 6 yearsFrom the question: "I found many Firefox add-ons, but I'm looking for a solution that can be programmed using the Shell Command line."
-
Quentin almost 6 yearsFrom the question: "I found many Firefox add-ons, but I'm looking for a solution that can be programmed using the Shell Command line."
-
Mouagip almost 6 years@Quentin Thanks for pointing that out. Seems like nobody read the full question. I've updated my answer.
-
someonr over 5 yearsI had to use
:screenshot --clipboard --fullpage
(mind the colon) -
gone over 5 yearsIn WaterFox 56.2.6, all I needed to do was press
shift-F2
to open the CLI bar at the bottom of the screen, then I could typescreenshot <filename.png/jpg> --fullpage
and the image was saved to the "Download" folder. More features are available via this method. -
Trenton almost 5 yearsOn MacOS, to open the developer console, I did COMMAND + OPTION + i
-
Will Ediger over 4 years@SamB - while "unlicensed" isn't explicitly an "official license", "The Unlicense" actually is a license, and seems to be pretty close to what the OP describes as his intent for the use of his code. See: choosealicense.com/licenses/unlicense
-
Veve over 3 years@Quentin this isn't an addon, it's directly integrated in last Firefox versions.
-
Quentin about 3 years@Veve — emphasis on "using the Shell Command line"
-
TylerH about 3 yearsI have Firefox 88.0 and don't see the "Take Screenshot" option when right-clicking. I believe this is because, by default, the
extensions.screenshots.disabled
property in about:config is set totrue
. It needs to be set tofalse
for that method to work. Otherwise, you need to add the screenshot option. (no restart is required when changing these properties) -
TylerH about 3 yearsFirefox 88.0 has a new method for taking screenshots. If
extensions.screenshots.disabled
is set to false in about:config, you can right-click the screen and select 'Take Screenshot'. There's also a screenshot menu button you can add to your menu via customization. -
Flimm about 3 years@TylerH You need to right-click on an empty space. I've edited my answer.
-
TylerH about 3 years@Flimm I did; I clicked all over on multiple different websites. The issue is that property in about:config. As soon as I set it to true, the option appeared in my contextual menu.
-
Admin almost 2 yearsmissing "import time" from the script, but anyway it worked fine thanks!