+ 1

What is PhantomJS?

PhantomJS (www.phantomjs.org) is a headless WebKit scriptable with JavaScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow.
PhantomJS is a tool in the Headless Browsers category of a tech stack.
PhantomJS is an open source tool with 27.4K GitHub stars and 5.8K GitHub forks. Here鈥檚 a link to PhantomJS's open source repository on GitHub

Who uses PhantomJS?

108 companies reportedly use PhantomJS in their tech stacks, including tools, Ocado Technology, and Key Location.

239 developers on StackShare have stated that they use PhantomJS.

PhantomJS Integrations

StackStorm, CasperJS, Trails, bip.io, and Poltergeist are some of the popular tools that integrate with PhantomJS. Here's a list of all 5 tools that integrate with PhantomJS.

Why developers like PhantomJS?

Here鈥檚 a list of reasons why companies and developers use PhantomJS
Private Decisions at about PhantomJS
Private to your company

Here are some stack decisions, common use cases and reviews by members of with PhantomJS in their tech stack.


We run PhantomJS as part of the CircleCI testing, comparing against other branches to ensure changes are limited to their intended scope. PhantomJS

See more
Public Decisions about PhantomJS

Here are some stack decisions, common use cases and reviews by companies and developers who chose PhantomJS in their tech stack.

Tim Abbott
Tim Abbott
Founder at Zulip | 3 upvotes 214K views

We use CasperJS because we adopted it back in 2013 for JavaScript frontend testing. It was a really nice system back then compared to what else was out there; you had PhantomJS as a programmable browser that actually rendered CSS and everything, it was really fast (speed is a big downside of e.g. Selenium), and it was possible to make non-flaky frontend integration tests with it.

I wouldn't recommend it today, because PhantomJS is a basically dead project, and as a result, so is CasperJS. I expect we'll migrate to something else. We haven't in large part because 95% of our new tests are written with a simple Node.js-based unit testing framework we use that run 35K lines of unit tests covering most of our JS codebase in 3.6 seconds. And for the things where we want an integration test, CasperJS does work, and I think there's a good chance that waiting another year or two will result in our being able to switch to a much better option than what we'd get if we migrated now.

See more

We run PhantomJS as part of the CircleCI testing, comparing against other branches to ensure changes are limited to their intended scope. PhantomJS

See more

PhantomJS's Features

  • Multiplatform, available on major operating systems: Windows, Mac OS X, Linux, and other Unices.
  • Fast and native implementation of web standards: DOM, CSS, JavaScript, Canvas, and SVG. No emulation!
  • Pure headless (no X11) on Linux, ideal for continuous integration systems. Also runs on Amazon EC2, Heroku, and Iron.io.
  • Easy to install: Download, unpack, and start having fun in just 5 minutes.

PhantomJS Alternatives & Comparisons

What are some alternatives to PhantomJS?
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.
Protractor is an end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
wkhtmltopdf and wkhtmltoimage are command line tools to render HTML into PDF and various image formats using the QT Webkit rendering engine. These run entirely "headless" and do not require a display or display service.
It allows you to manipulate a web page with an external Javascript script: opening a webpage, clicking on links, modifying the content... It is useful to do functional tests, page automation, network monitoring, screen capture etc.
See all alternatives

PhantomJS's Followers
282 developers follow PhantomJS to keep up with related blogs and decisions.
Bogdan Ivanishchuk
Nelutu Budai
Vivek Kandhvar
Weslley De Souza
Tan Tee Khai
Even Andre Fiskvik
Robert Niedosmialek