Printful Integration for WooCommerce


Partner with the #1 print-on-demand drop shipping plugin. Over 300,000 active customers and counting!

With Printful, you can focus on building your store. We’ll print, fulfill and ship your products for you. Simply upload your design, add it to your store, and we’ll do the rest.

We offer more than 305+ products in various categories—apparel, home & living items, jewelry, accessories, and more! Once your orders start rolling in, we’ll fulfill and ship each one under your brand at our in-house and partner facilities, located globally.

Printful customers have already made more than $1 billion in sales, so start selling today!

How does Printful work?

When a customer buys something from your WooCommerce store, the order is automatically imported to Printful, where we fulfill and ship it to them under your brand. You can then see your order, revenue, and profit statistics on your WooCommerce dashboard.

We’re trusted to print over 1 million products monthly and we can’t wait to print yours!

Learn more about the WooCommerce + Printful integration here:

With WooCommerce + Printful, you get:

  • Control over your profit: We charge you to cover production while you set your retail price, and what’s left is your profit
  • Automated tax settings and live shipping rates
  • Free design templates: Get creative with our Design Maker
  • Product personalization: Sell designs your customers can personalize themselves
  • Warehousing & Fulfillment services: Store your inventory at our warehouse, and we’ll fulfill all your orders
  • Stress-free shipping: Lost shipments are on us, and we offer shipping methods with tracking
  • Discounted samples: Order samples of your products with 20% off + free shipping to select destinations to ensure your customers are getting quality products.
  • 24/7 support: Get in touch with us using chat or email


  • Connect to Printful
  • Printful dashboard
  • Integration settings
  • Plugin status page
  • Support page


  1. Upload ‘printful-shipping-for-woocommerce’ to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Click the «Connect» button or add your Printful API key manually to Printful->Settings tab
  4. Enable shipping rate calculation in WooCommerce->Settings->Shipping->Printful Shipping tab
  5. To automatically calculate taxes please check ‘Enable taxes and tax calculations’ under WooCommerce Tax settings.
  6. Then go to Printful->Settings tab and check ‘Calculated for all products shipped to states where Printful applies sales tax’.

Preguntas frecuentes

How do I get Printful API key?

Go to , select your WooCommerce store, click «Edit» and then click «Enable API Access». Your API key will be generated and displayed there.


11 de septiembre de 2022
It was working fine until I accidentally pressed refresh data when adding products to my woocommerce store from Printful. Now I can't get it to sync. Customer support tells me not their problem, go to my host. My host says not my problem, go to printful. No one will figure out this issue and from reading some of the other reviews here it seems like this is a printful plugin issue.
7 de septiembre de 2022
Thanks for the plugin. I have uploaded 100+ products and everything works fine but it would be great if the product title automatically added to the image alt text fields. You know, "Alt texts" are important for SEO.
3 de septiembre de 2022
I was IM'ing someone about some issue that I cant even remember and the guy starts to go off about the content i have licensed i think insinuating that we did not have the right to mark and brand. Even though we have thousands of branded and licensed products in stores now. I was merely thinking about changing on demand platforms. I guess its good we found out now but man, that was weird.
2 de septiembre de 2022
This post is after 2 weeks troubleshooting why, all of a sudden, I could not sync any new products to my WooCommerce site. It was fine, but then randomly had "maximum execution time exceeded" errors and 500 errors. I resolved the 500 error, and was left with the execution time issue. Now seeing the other reviews here and other conversations online, I see it's a known issue. So I followed all their steps, they had me troubleshoot it with the host (hostmonster), and we determined it's a problem with how they are executing commands while they load the product; we couldn't pinpoint it directly, but it's likely an image compression issue that can be resolved at the script level, but making the types of adjustments on the server side to "make it work" would leave my server vulnerable to downtime and attacks. I am absolutely confused, especially after all the troubleshooting I did and all the negative reviews on their Wordpress plugin lately, why Printful has not looked at its sync to WooCommerce. After disabling every plugin on my site, increasing the maximum execution time far beyond acceptable levels (10 min +), and showing them logs where it only errored out if the execution time was set at 2 minutes or less, they still said the "maximum execution time exceeded" error was something my host had to troubleshoot and fix. The real issue here is that their sync process to Wordpress is poorly scripted and causes high execution time to wrap up the publishing of the product. It does everything it needs to in order to publish - transmits photos, costs, variations, and categories. It creates the post, and is all set to finish, but then something on their side decides it can't complete the process and trashes the product. Now, it's completely possible, in researching common issues, that it's related to shared hosting not having priority access to ImageMagick for resizing the photos. There is no option to sync just the copy and details to upload photos later, which is an option with other POD providers. But they can't just leave it at "sorry, there's nothing we can do" and make it a known issue with shared servers (Bluehost, etc). That's a LOT of customers. So, after all this, I decided to forego any further use of Printful on WooCommerce and go with them if I feel they have something unique for my Etsy shop, which works way better. There is no bug reported because they refused to do so. There's no documentation stating that shared server customers may have issues with Wordpress integrations. And the suggestion to "just increase your maximum execution time" is a dangerous "requirement" to have - that doesn't just affect Printful, but any executed command on your site which, malformed, could take down your site if a denial-of-service attack targeted that execution over and over. Just a horrible outcome. I gave them two stars because, honestly, they have a LOT of potential. Their shipping calculation engine works well with no configuration required, their order processing is great, and the quality of their prints are awesome. If they would just fix their stupid sync script for Wordpress users, we'd be in business. ALSO: for those thinking this is like having a RedBubble or Zazzle account, that is absolutely not the case. It's not super clear in their documentation, but the timing between your transaction and theirs is moments. There is no way to hold the order until the payment has completed. You will be floating everything you take in through this integration: the customer's card gets charged, then your card or Paypal gets charged, and you wait for the customer transaction to pay you back for the cost of the print. This can mean you're floating hundreds and potentially thousands of dollars per day. Be prepared for that, or you will run into bank issues. Alternatively, post their products and process the orders manually if you are a cash-only business.
26 de julio de 2022
UPDATE: Aaaaand I found yet another super frustrating thing with this plugin. I go into woocommerce and enter "Test Mode" so I can test my checkout experience. I process some dummy orders using the fake Visa/MC numbers woo provides and wouldn't you know it I start getting emails that Printful is processing all these orders for real! It charged my credit card for all these dummy orders! Apparently Printful isn't integrated enough to know when woo is in "test mode" and using dummy CC numbers. WOW. I did not see that coming. So, I go into Prinful and I cancel the orders like 5 minutes after they were placed. But my CC is still being charged. I talk to support and they insist there is no way to cancel the CC charged because they are "real" orders from their perspective, but not to worry they have refunded my Printful wallet. So then I have to go in and withdrawal from my Printful wallet back to my CC which can take 3 business days. It's just a ridiculous process all around and not user friendly at all. The plugin "works", but it can be so so so frustrating at times. When I go to support to try to figure something out they usually give me some really janky workaround. For instance, I had to switch servers and so I created a new website (with the same domain), and I figured since I already uploaded all my products to printful that I would easily be able to just reconnect and resync it all to my new woocommerce integration, but no, you have to actually re-add every single product, and re-create every single variable. There is no "resync to a new store" for all your existing products. You have to recreate everything all over again - the support said, "actually you don't have to recreate it all, you just have to create a template for every single product and then reload that template into the new store." Which, yes works, but its just as time consuming as having to redo it all! Especially if you're dealing with Attributes and Variations, its a real headache. Another example: Create a mockup for a canvas or frame and select multiple sizes and in the mockup generator adjust the image to fit the size you want for the frame. However, depending on the image and the sizes you are trying to use, you can't actually adjust each size individually, it adjusts the mockup image for every size, even if that isn't the size selected - if you adjust the image, it adjusts it for all, which is super frustrating. So I contact support and they say, "what you actually have to do is do the mockup for the 12x12" canvas, and then save that product, then go back in, all the way back to the beginning, and add a variation for that product, NOW you can go back in and adjust the 16x16" image you want for that canvas. It's like death by a thousand papercuts when it comes to efficiency. So if I want to create 3 different sizes for canvas, I basically have to create that product 3 different times, instead of being able to do it all in one go in the initial product setup. If it doens't make sense, it's because it doesn't really make sense. If you have a single art file you want to put on canvas, poster, and framed, and even if they are all the same size, lets say 12x12, you have to go through an unholy process between woocommerce/printful/attributes/variations to make it all work so it shows as a single product on the store. Your other option is to just list them all as separate products but then your shop page is full of the same image being repeated over and over. It's just a super frustrating process to try to go through. At the end of the day, so far, it still seems to work, but so many things will make you want to pull your hair out. I went with Printful after doing research because they seemed to be the "biggest" around the world, but I have to imagine that a competitor is hot on their heels given how frustrating printful can be to integrate with.
30 de junio de 2022
I almost gave up on this plugin. I left Shopify for Wordpress bcuz I didn't appreciate my products being censored. FYI, if you don't fit the narrative - Shopify will literally remove products from your store w/out warning. Shopify + Printful work seamlessly together, but you pay for it. This is FREE. You might have to put in more effort to get things working, but you're learning all the while. Not sure ppl remember, but learning is a 'good' thing. I learned that I had to increase limits (time 300 + memory 256 or 512) at the hosting level. After several long days, this turned out to be a very simple 2-minute deal. I think it helped but still was throwing errors. I finally noticed that color variations and mock-ups were the problem. So, work around that might help others?? I have to limit product colors (ex: 3 colors of tshirts max). Then when I upload to store I do the most basic mock-ups. 2-3 images only! Once it's successfully loaded to the store (green is such a NICE color). I can add more color variations (usually 2). And download additional mock-ups to upload to library myself. YES, it's a pain in the ass, but..........IT'S WORKING! For that.....I'm grateful! Of course, site isn't LIVE yet, so.....we'll see what happens with orders/fulfillment? Fingers crossed.
Leer todas las 64 reseñas

Colaboradores y desarrolladores

«Printful Integration for WooCommerce» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


«Printful Integration for WooCommerce» ha sido traducido a 5 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce «Printful Integration for WooCommerce» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios


  • Woocommerce compatibility raised to 6.7


  • Plugin version fix


  • Woocommerce compatibility raised to 6.5.1
  • WordPress compatibility raised to 6.0


  • Licence updated to GPLv3
  • WordPress compatibility raised to 5.9
  • Woocommerce compatibility raised to 6.4


Additional billing setting check


  • WordPress compatibility raised to 5.8. Size guide bugfix


  • Woocommerce compatibility raised to 6.1


  • Woocommerce compatibility raised to 6.0
  • Size guide bug fix


  • Woocommerce compatibility raised to 5.9


  • Woocommerce compatibility raised to 5.5


  • Woocommerce compatibility raised to 5.4


  • Woocommerce compatibility raised to 5.3
  • Minor bug fixes


  • Woocommerce compatibility raised to 5.2


  • Advanced size guide translations fix


  • Woocommerce compatibility raised to 5.0


  • Woocommerce compatibility raised to 4.9


  • Woocommerce compatibility raised to 4.8


  • Woocommerce compatibility raised to 4.7


  • Woocommerce compatibility raised to 4.6


  • Fix translations


  • Advanced size guide feature


  • Improved support for WooCommerce 4.3


  • Improved support for WooCommerce 4.2


  • Improved support for WooCommerce 4.1


  • Improved support for WooCommerce 4.0 and other minor bug fixes


  • Improved support for WooCommerce 3.9 and other minor bug fixes


  • Improved support for WooCommerce 3.8 and other minor bug fixes


  • Updated labels in plugin settings


  • Added the ability to change personalization popup title


  • Fixed issues with personalization tool and other minor improvements


  • Fixed an issue with personalized order submit


  • Fixed minor issue with site URL verification in plugin status page


  • Improved theme support for personalized products and other minor bug fixes


  • Improved support for WooCommerce 3.6 and other minor bug fixes


  • Personalization feature


  • Shipping & Tax information improvements


  • Bug fixes, security improvements and improved i18n support


  • Improvement support for WordPress 5.0 and fixed various minor issues


  • Improvements to Printful shipping carrier settings


  • Improved support for older PHP versions
  • Other minor bug fixes


  • Improved compatibility with WC 3.4.3
  • WordPress localization support
  • Minor bug fixes


  • Fixed incorrect webhook status indication since WC 3.3.0


  • Improved Printful connection status detection
  • Improvements for system report
  • Show warning if attempting to connect from localhost


  • New major plugin version
  • All new Printful dashboard
  • Connect to Printful with a single click
  • View your Printful profits and latest Printful product orders in WordPress admin
  • Edit your shipping carriers from Printful dashboard
  • Improved sales tax compatibility with existing tax rates
  • New status page – see if your integration is running smoothly
  • New support page – all info about finding help in one place
  • Size chart tab – when pushing products from Printful, the size chart will be placed in a separate tab
  • Improved logging of API requests coming to and from Printful


  • Fixed bug that caused tax rates to become invisible on checkout since WC 3.0


  • Do not calculate shipping rates for US addresses while ZIP or state is not entered


  • Include shipping rates in tax calculation for states that require that


  • Added option to allow Woocommerce default rates together with Printful rates for Printful products


  • Prevent virtual products from requiring shipping rate when bought together with Printful products


  • Fixed issue introduced in 1.2.2


  • Fixed PHP warning on Woocommerce 2.6 due to changed method signature
  • Fixed conflict with «Multiple Packages for WooCommerce» plugin


  • Fixed bug that could have show error message when calculating shipping rates


  • Support calculating shipping rates for both Printful and non-Printful products at the same time (non-Printful
    products will get default rates provided by Woocommerce)
  • Added caching to tax rates
  • Improved compatibility with Woocommerce 2.6


  • Removed check for Curl extension (since we already used wp_remote_get and it is no longer necessary)


  • Ignore virtual and downloadable products when calculating shipping rates


  • Added option to calculate sales tax rates for locations where it is required for Printful orders
  • Added automatic conversion of shipping rates to the currency used by Woocommerce
  • Printful API client library updated to use WordPress internal wp_remote_get method instead of CURL directly
  • Changed plugin code structure for easier implementation of new features in the future


  • Added option to disable SSL for users that do not have a valid CA certificates in their PHP installation


  • Removed CURLOPT_FOLLOWLOCATION that caused problems on some hosting environments
  • Added option to display reason status messages if the rate API request has failed


  • First release