Today I’m excited to be able to announce the launch of Wolfram|Alpha Pro—the biggest single step in the development of Wolfram|Alpha since its original introduction.

Over the two and a half years since we first launched, Wolfram|Alpha has been growing rapidly in content and capabilities. But today’s introduction of Wolfram|Alpha Pro in effect adds a whole new model for interacting with Wolfram|Alpha—and brings all sorts of fundamentally new and remarkable capabilities.

Starting today, everyone has access to Wolfram|Alpha Pro at wolframalpha.com. Unlike the “tourist” version of Wolfram|Alpha, though, you have to log in, and, yes, to get full capabilities there’s a subscription ($4.99/month, or $2.99/month for students). (Right now, you can try it for free with a trial subscription.)

So, what does Wolfram|Alpha Pro do?

There are some big things here. But at the level of the Wolfram|Alpha interface, they’re just summarized by little icons.

Let’s talk first about output. Once you’ve logged in, you have access to your history, and you can define favorites. You can also set preferences, like what location Wolfram|Alpha should assume, or what unit system you want to use. And you can do things like change the overall size of Wolfram|Alpha output.

As soon as you mouse over a Wolfram|Alpha output pod, you’ll immediately see:

(or, actually, clicking almost anywhere in the pod) does something very simple, but useful: it gives you an enlarged version of the pod, so you can for example see all the details of elaborate plots.

does something a lot of people have asked for: lets you customize output from Wolfram|Alpha, and get it in various formats—so you can put it directly into your presentation, or whatever.

Another much-requested capability, accessed with , is being able to download the raw data behind a Wolfram|Alpha output—say as a spreadsheet or the like.

(Needless to say, spreadsheets can’t faithfully represent the full breadth of data, units, etc. that Wolfram|Alpha generates, so Wolfram|Alpha Pro uses tricks like having separate sheets for “Raw Data” and “Formatted Data”.)

When one says “downloading data”, one might think just of data behind tables and plots. But Wolfram|Alpha Pro can download all sorts of other data too: 3D geometry data (say to use for a modeling program or a 3D printer), sound data, graph connectivity data, molecular specification data, etc.—in altogether more than 60 formats.

In addition to handling material in individual pods, Wolfram|Alpha also lets you download a complete output page as PDF—or CDF.

CDF (Computable Document Format) is the format that we introduced last year to let people create documents containing computations. It’s already gaining a lot of momentum in areas like textbooks and interactive reports. But now CDF is also part of Wolfram|Alpha Pro.

In all sorts of output pods, there’ll be a button labeled “Enable interactivity”. Click it and the pod will turn into CDF, that you can immediately interact with.

At a basic level, you’ll be able to resize any graphic, and rotate 3D graphics. But many kinds of graphics and other outputs will also sprout controls that let you directly modify and interact with them. (Often there’s a “More controls” section that opens out to give lots of additional controls.) And because CDF computation is done locally on your computer, the interaction is typically very zippy.

An interesting feature of CDF in Wolfram|Alpha Pro is that it effectively lets you create interactive programs directly from free-form linguistic input. You can tell Wolfram|Alpha to animate with respect to some variable, or somesuch, and it’ll generate a CDF that does that.

So there are all sorts of new things associated with output in Wolfram|Alpha Pro. But what about input?

Right below the main input box there’s a row of icons. Each of them brings out a “tray” for some special kind of input.

gives a special character keyboard, modeled after the soft keyboards that exist in Wolfram|Alpha mobile apps.

The other icons all relate to a big idea of Wolfram|Alpha Pro. With ordinary Wolfram|Alpha and its free-form linguistics, we’ve really opened up the kind of textual input that you expect a computer to be able to handle. But a big idea of Wolfram|Alpha is to go still further, and to allow input that isn’t text at all.

lets you give an image as input.

Once you’ve got the image in, it’ll be indicated by a little yellow box in the Wolfram|Alpha input field. And if you just hit Enter, Wolfram|Alpha Pro will do an automatic analysis of your image.

There’s some general analysis that always gets done, but a lot of the analysis depends on your image. If there’s text in the image, it’ll get OCR’d. If there are separate components, they’ll be identified. And so on.

But in addition to purely automatic analysis, you can tell Wolfram|Alpha Pro what to do with your image, just using standard free-form linguistics. In a sense, Wolfram|Alpha Pro is a direct beneficiary of the very powerful image handling capabilities that were added in recent versions of *Mathematica*. But the end result is that it’s able to do a very large range of image processing and image analysis—both “Photoshop-style”, and of a type usually seen only in specialized, expensive, image processing systems.

Particularly powerful is combining image upload with CDF—and getting interactive interfaces for image processing.

So what about other kinds of files? Well, Wolfram|Alpha Pro can handle about 60 types.

In each case, it can do general automatic analysis of what’s in the file. And you can specifically tell it what you want to do. For different types of files, the results are very different. Like here’s the result of uploading a sound file:

And here’s a general analysis of a pure binary file:

What about files that contain data? Here’s where it gets even more exciting. And actually the data doesn’t need to be laid out in a spreadsheet or CSV or whatever. lets you just copy a block of data from anywhere, and feed it to Wolfram|Alpha Pro.

To many people who’ve seen preliminary versions of Wolfram|Alpha Pro, this is then the part that’s most surprising and remarkable: Wolfram|Alpha Pro will automatically analyze the data, and generate a report about it.

The report is completely tailored to the particular data you give—and it can look very different for different kinds of data. Usually, though, it’ll contain some mixture of visualizations and analyses. It’ll have all kinds of charts and graphs and tables—often together with explicit conclusions generated by statistical and other methods.

And of course, it’s not just a static report. There are always all sorts of buttons and pull-downs that allow you to drill down, select different options, and so on. But the notion is that when you upload your data to Wolfram|Alpha Pro, it’ll immediately be able to tell you interesting things about it.

I’ll write more about this elsewhere, but in a sense the concept is to imagine what a good data scientist would do if confronted with your data, then just immediately and automatically do that—and show you the results.

We’re certainly not finished with everything that’s possible, but already in the version of Wolfram|Alpha Pro that we’re releasing today, I think what we can do with data is pretty impressive. Of course, it helps that we can build on all the sophisticated data and statistics-related capabilities that are now built in to *Mathematica*. And it also helps that we can make use of all the other parts of Wolfram|Alpha.

For example, if you read in data with dates, or units, or place names, or whatever, Wolfram|Alpha Pro is able to call on Wolfram|Alpha’s linguistic capabilities to understand whatever forms were entered. And when it comes to output, Wolfram|Alpha Pro can freely use the built-in knowledge in Wolfram|Alpha. So, for example, it can immediately place on a map cities or countries or whatever given in the data. But what is more, it can use its built-in knowledge to let you do things like automatically normalizing by population.

As everywhere in Wolfram|Alpha, we’re aiming for very broad and deep coverage. We want to implement every method and algorithm that’s relevant to analyzing data, and then we want to apply these automatically whenever and wherever they make sense. Already we’ve got lots of data handling and visualization, lots of standard and not-so-standard statistical methods, and lots of new methods, many original to Wolfram|Alpha Pro.

Taken with the other capabilities of Wolfram|Alpha Pro, it’s all a pretty major extension of ordinary Wolfram|Alpha—supporting a whole new model of using Wolfram|Alpha. In a sense the new capabilities emphasize more than ever the computational nature of Wolfram|Alpha: the ability to do complete, fresh, computations for every query.

We’ve been able to go a remarkably long way with the basic paradigm of ordinary Wolfram|Alpha. But now Wolfram|Alpha Pro dramatically extends this paradigm—and it’s going to be exciting to see all the new things that become conceivable. But for now, I hope that as many people as possible will use Wolfram|Alpha Pro, and will take advantage of the largest single step in the development of Wolfram|Alpha since it was first launched.