Notice: Twilio Programmable Fax will be disabled for all users on December 17, 2021. New and inactive accounts will lose access as of December 17, 2020. For full details, including migration options, see Fax Support on Twilio.
Newly purchased Twilio numbers are not configured to automatically receive faxes by default. This guide explains how to change this behavior. Please note that Twilio phone numbers can't be configured to receive both faxes and voice calls simultaneously. If you need to receive both calls and faxes, we recommend purchasing separate numbers dedicated to receiving faxes and calls.
Notice: Receiving incoming faxes is generally available for Japanese phone numbers only. Inbound faxes to non-Japanese phone numbers are still considered beta, with no current plans for general availability. Support requests for beta and pre-release products are generally handled by our engineering team, and as such, response times are not guaranteed. For more information on Support limitations for beta and pre-release products, please see Twilio Beta Product Support.
Create your app
Incoming communications to Twilio will need to be handled by an application that responds with TwiML - our XML-based markup language. Twilio reaches out to your application on incoming communications, and uses the TwiML response we receive as instructions that tell us how to respond to the fax.
Your Twilio response will vary depending on your use case and business needs. For full details on how Twilio Programmable Fax works, see Receiving Faxes (Twilio Docs).
Notice: For users looking to block faxes, see How Can I Stop Receiving or Block Incoming Faxes.
Configuration options
Once your app is ready, it will need to be posted online where Twilio can access it. We'll reach out on incoming communications, and then process the TwiML command instructions your app responds with. For hosting your app, we offer users an array of options to meet different requirements. Here are the different options, and how to configure your phone number for each of them:
- Webhook: Webhooks are applications at external URLs that respond Twilio's HTTP requests with coded instructions. This option is recommended for Twilio users who want a completely customizable Twilio application. For more information, please see our Webhooks Glossary page.
- TwiML Bin: TwiML Bins allow you to write TwiML that Twilio will host for you - so you can quickly prototype a solution without spinning up a web server. This option is recommended for Twilio users who want to get a prototype up and running quickly, or those without their own web hosting. For more information, please see this TwiML Bins blog post.
- Function (Beta): Functions are Twilio-hosted Node.js webhooks for responding to Twilio's HTTP requests with coded instructions. This option is recommended for Twilio users who don't have their own web hosting, and want a versatile solution that can be as simple or complex as needed. For more information, please see the Twilio Functions landing page.
- TwiML App: TwiML Applications are a reusable set of URLs and other configuration data for responding to Twilio. They allows you to update the app only, and have these changes automatically roll out to each configured phone number. For more information, please see our Applications REST API Resource page.
Respond with a Webhook
- Access the Active Numbers page in Console.
- Click the desired phone number to modify.
- Scroll to the Voice & Fax section, and then modify the phone number’s routing:
- ACCEPT INCOMING: Faxes
- CONFIGURE WITH: Webhooks, TwiML Bins, Functions, Studio, or Proxy
- A FAX COMES IN: Webhook
- INPUT FIELD: Enter the URL for your Twilio response code.
- When finished, click Save.
Respond with a TwiML Bin
- Access the Active Numbers page in Console.
- Click the desired phone number to modify.
- Scroll to the Voice & Fax section, and then modify the phone number’s routing:
- ACCEPT INCOMING: Faxes
- CONFIGURE WITH: Webhooks, TwiML Bins, Functions, Studio, or Proxy
- A FAX COMES IN: TwiML
- DROP-DOWN MENU: Select the previously saved TwiML Bin.
NOTE: A new TwiML Bin may not be immediately visible; try refreshing the page if you don't see it at first.
- When finished, click Save.
Respond with a Function
- Access the Active Numbers page in Console.
- Click the desired phone number to modify.
- Scroll to the Voice & Fax section, and then modify the phone number’s routing:
- ACCEPT INCOMING: Faxes
- CONFIGURE WITH: Webhooks, TwiML Bins, Functions, Studio, or Proxy
- A FAX COMES IN: Function
- DROP-DOWN MENU: Select the previously saved function.
NOTE: A new Function may not be immediately visible; try refreshing the page if you don't see it at first.
- When finished, click Save.
Respond with a TwiML App
- Access the Active Numbers page in Console.
- Click the desired phone number to modify.
- Scroll to the Voice & Fax section, and then modify the phone number’s routing:
- ACCEPT INCOMING: Faxes
- CONFIGURE WITH: TwiML App
- TWIML APP: Select the previously saved TwiML App.
NOTE: A new app may not be immediately visible; try refreshing the page if you don't see it at first.
- When finished, click Save.