---
title: Tutorials
description: Step-by-step R2 tutorials for building applications with object storage.
image: https://developers.cloudflare.com/dev-products-preview.png
---

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

[Skip to content](#%5Ftop) 

# Tutorials

View tutorials to help you get started with R2.

| Name                                                                                                                                                | Last Updated       | Difficulty   |
| --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------ |
| [Deploy a Browser Run Worker with Durable Objects](https://developers.cloudflare.com/browser-run/how-to/browser-run-with-do/)                       | over 2 years ago   | Beginner     |
| [Generate OG images for Astro sites](https://developers.cloudflare.com/browser-run/how-to/og-images-astro/)                                         | Intermediate       |              |
| [Data persistence with R2](https://developers.cloudflare.com/sandbox/tutorials/persistent-storage/)                                                 | 6 months ago       | Intermediate |
| [Build an end to end data pipeline](https://developers.cloudflare.com/r2-sql/tutorials/end-to-end-pipeline/)                                        | 8 months ago       | Intermediate |
| [Point to R2 bucket with a custom domain](https://developers.cloudflare.com/rules/origin-rules/tutorials/point-to-r2-bucket-with-custom-domain/)    | about 1 year ago   | Beginner     |
| [Use event notification to summarize PDF files on upload](https://developers.cloudflare.com/r2/tutorials/summarize-pdf/)                            | over 1 year ago    | Intermediate |
| [Use SSE-C](https://developers.cloudflare.com/r2/examples/ssec/)                                                                                    | over 1 year ago    | Intermediate |
| [Use R2 as static asset storage with Cloudflare Pages](https://developers.cloudflare.com/pages/tutorials/use-r2-as-static-asset-storage-for-pages/) | almost 2 years ago | Intermediate |
| [Create a fine-tuned OpenAI model with R2](https://developers.cloudflare.com/workers/tutorials/create-finetuned-chatgpt-ai-models-with-r2/)         | almost 2 years ago | Intermediate |
| [Protect an R2 Bucket with Cloudflare Access](https://developers.cloudflare.com/r2/tutorials/cloudflare-access/)                                    | about 2 years ago  | Intermediate |
| [Log and store upload events in R2 with event notifications](https://developers.cloudflare.com/r2/tutorials/upload-logs-event-notifications/)       | about 2 years ago  | Beginner     |
| [Use Cloudflare R2 as a Zero Trust log destination](https://developers.cloudflare.com/cloudflare-one/tutorials/r2-logs/)                            | over 2 years ago   | Beginner     |
| [Securely access and upload assets with Cloudflare R2](https://developers.cloudflare.com/workers/tutorials/upload-assets-with-r2/)                  | almost 3 years ago | Beginner     |
| [Mastodon](https://developers.cloudflare.com/r2/tutorials/mastodon/)                                                                                | over 3 years ago   | Beginner     |
| [Postman](https://developers.cloudflare.com/r2/tutorials/postman/)                                                                                  | almost 4 years ago | Beginner     |

```json
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"/directory/","name":"Directory"}},{"@type":"ListItem","position":2,"item":{"@id":"/r2/","name":"R2"}},{"@type":"ListItem","position":3,"item":{"@id":"/r2/tutorials/","name":"Tutorials"}}]}
```
