Get started (52)

Last updated Apr 21, 2026 This guide will instruct you on creating and deploying a Pages Function.

Prerequisites

You must have a Pages project set up on your local machine or deployed on the Cloudflare dashboard. To create a Pages project, refer to Get started.

Create a Function

To get started with generating a Pages Function, create a /functions directory. Make sure that the /functions directory is at the root of your Pages project (and not in the static root, such as /dist).

Advanced mode

For existing applications where Pages Functions’ built-in file path based routing and middleware system is not desirable, use Advanced mode. Advanced mode allows you to develop your Pages Functions with a _worker.js file rather than the /functions directory.

Writing your Functions files in the /functions directory will automatically generate a Worker with custom functionality at predesignated routes.

Copy and paste the following code into a helloworld.js file that you create in your /functions folder:

export function onRequest(context) {
    return new Response("Hello, world!");
}

In the above example code, the onRequest handler takes a request context object. The handler must return a Response or a Promise of a Response.

This Function will run on the /helloworld route and returns "Hello, world!". The reason this Function is available on this route is because the file is named helloworld.js. Similarly, if this file was called howdyworld.js, this function would run on /howdyworld.

Refer to Routing for more information on route customization.

Runtime features

Workers runtime features are configurable on Pages Functions, including compatibility with a subset of Node.js APIs and the ability to set a compatibility date or compatibility flag.

Set these configurations by passing an argument to your Wrangler command or by setting them in the dashboard. To set Pages compatibility flags in the Cloudflare dashboard:

  1. Log into the Cloudflare dashboard ↗︎ and select your account.
  2. Select Workers & Pages and select your Pages project.
  3. Select Settings > Functions > Compatibility Flags.
  4. Configure your Production and Preview compatibility flags as needed.

Additionally, use other Cloudflare products such as D1 (serverless DB) and R2 from within your Pages project by configuring bindings.

Deploy your Function

After you have set up your Function, deploy your Pages project. Deploy your project by:

Caution

Direct Upload from the Cloudflare dashboard is currently not supported with Functions.

Was this helpful?

YesNo

On this page

Get started (52) - 图1Docs

{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/pages/functions/get-started/#page","headline":"Get started","description":"Create and deploy your first Pages Function on Cloudflare Pages.","url":"https://developers.cloudflare.com/pages/functions/get-started/","inLanguage":"en","image":"https://developers.cloudflare.com/pages/functions/get-started/og.png?v=c372a0d0afd79c79","dateModified":"2026-04-21","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}


description: Run and test your Pages application locally using Wrangler. title: Local development image: https://developers.cloudflare.com/pages/functions/local-development/og.png?v=c858b187ad2e932f


Skip to content

Documentation Index
Fetch the complete documentation index at: https://developers.cloudflare.com/pages/llms.txt
Use this file to discover all available pages before exploring further.