A friendly and powerful open source CMS with an API that is a joy to use at any scale.

ProcessWire is a free content management system (CMS) and framework (CMF) built to save you time and work the way you do. With all custom fields, a secure foundation, proven scalability and performance, ProcessWire connects all of your content seamlessly, making your job fast, easy and fun. More

 Download  Demo

Open source CMS screenshots

Web developers love ProcessWire

Building websites with a CMS has never been more simple and fun

// Render your site’s primary navigation
echo $pages->get('/')->children->each('<li><a href={url}>{title}</a>');
// Find buildings: built before 1950, 10+ floors, sort by height
$pages->find('template=building, year<1950, floors>=10, sort=height');
// Output field “headline” when present or “title” if not
echo '<h1>' . $page->get('headline|title') . '</h1>';
// Get “email” field from /contact/ page and use it in link
<a href='mailto:<?= $pages->get('/contact/')->email ?>'>Email</a>
// Output first “images” field item on page at 90px width
<img src='<?= $page->images->first->width(90)->url ?>'>
// Set “headline” field value on page and save to database
$page->setAndSave('headline', 'Hello world');

Every bit of content in your site is never more than 1-line of code away. It doesn’t matter how large or small your site is, with ProcessWire all your content is connected, making it fast and easy to find, and incredibly simple to access, output and manipulate.

All fields in ProcessWire are custom fields that you easily define and edit in the admin. You can create as many of them as you want, and of any type. You can even bundle them in repeatable groups called Repeater fields. ProcessWire is built to adapt to your content needs.

Every field has a type and there are dozens of different types. It’s all here—text, rich text, numbers, files, images, multi-language, dates, page references, custom repeatable groups, and on and on… plus you can easily add more, since they are plugins/modules!

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer

Clients love ProcessWire

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani

You’ll love ProcessWire too

Read how ProcessWire connects it all ProcessWire connects it all

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer

ProcessWire Showcase

    “…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull

    ProcessWire Blog

    ProcessWire 3.0.126 core updates

    6

    This week we take a look at what’s in ProcessWire 3.0.126 which focuses largely on resolving issue reports, but also includes a handy new $page->if() method.  More 

    A closer look at ProcessWire ProMailer

    9

    This week we take a closer look at the upcoming ProMailer module with a lot more details and screenshots. Plus an update on next steps with the new website and development schedule in the weeks ahead.  More 

    ProcessWire 3.0.125 core updates

    2

    ProcessWire 3.0.125 has several useful new $sanitizer methods and options, as well as new ways to access them directly from the $input API variable. This makes dealing with user input even easier than it was before. This version also brings updates to our translation functions and improvements to… More 

    “Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.

    ProcessWire Pro Shop

    Professional modules to save you time, built and supported by ProcessWire’s core developer.

    • FormBuilder

      Whether you need a large registration form or just a simple contact form, ProcessWire Form Builder helps you get the job done quickly and easily. It’s the ultimate tool for building and processing forms in ProcessWire.
    • ProCache

      ProcessWire ProCache bypasses PHP and MySQL and enables your web server to deliver pages at the speed of static HTML. ProCache also includes CDN support, minification of HTML, CSS, JS, and many more optimizations.
    • ProFields

      ProFields are an powerful group of ProcessWire field types (with custom inputs) that enable you to manage more data with fewer fields. This saves you time, reduces overhead, and makes development more efficient and even more fun.
    • ListerPro

      ListerPro is an amazing page listing and editing tool for the ProcessWire admin that enables you to find, filter, list, sort and even edit/manipulate pages (individually or in bulk) based on any of their properties.
    • ProDrafts

      ProDrafts enables you to easily maintain separate draft and live versions of any page in ProcessWire. It also provides automatic-save capability, live preview (preview as you type), group workflow functions and more!
    • ProDevTools

      ProDevTools is a powerful set of tools for web developers that enable your company to deliver a better, faster and stronger product. The flagship is ProfilerPro which helps you to profile and optimize your code.

    “We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH

    ProcessWire News & Community

    Twitter updates

    • New post: This week we take a look at what’s in ProcessWire 3.0.126 which focuses largely on resolving issue reports, but also includes a handy new Page if() method— More
      15 February 2019
    • New post: ProcessWire 3.0.125 has several useful new Sanitizer methods & options, plus new ways to access them directly from the Input API variable. This makes handling user input even easier than before. Plus updates to our i18n functions & API docs— More
      25 January 2019
    • New post: In this week’s post, we’ll take a look a look at the new website and focus on some parts of it and how they were built. Then we’ll dive into the latest version of ProcessWire on the dev branch, version 3.0.124— More
      11 January 2019

    Latest news

    • ProcessWire Weekly #249
      In the 249th issue of ProcessWire Weekly we're going to walk you through the latest core updates (ProcessWire 3.0.126), introduce a new third party module called Page Access Releasetime, and pick a new site of the week. Read on!
      Weekly.pw / 16 February 2019
    • ProcessWire 3.0.126 core updates
      This week we take a look at what’s in ProcessWire 3.0.126 which focuses largely on resolving issue reports, but also includes a handy new $page->if() method. 
      Blog / 15 February 2019
    • Subscribe to weekly ProcessWire news

    “I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer