Generate CSV files that users can download

Build apps that can export data to CSV so that users can download reports, share records, and work in spreadsheets.

Table of Contents
Start building today with WeWeb!
Build your first application in no time!

Turn your data into downloadable CSV files

The CSV integration generates downloadable CSV files from your app data:

  • Export a collection or variable to a CSV file from a workflow action
  • Trigger CSV downloads from buttons, menus, or post-filter actions (for example, “Export current results”)
  • Support exports from any backend you connect to in WeWeb (as long as you can shape the data in WeWeb)
  • Build custom export formats by mapping the exact fields you want users to receive 
  • Keep exports in-context: users don’t need admin access to your backend to get what they need

What WeWeb supports natively

Category Feature What it does
Upload elements File Upload element Lets users upload files from their device. You can restrict allowed types to CSV (and others) and access file metadata and content via component variables.
Upload elements Drag and drop files element Provides a drag-and-drop zone that supports multiple files, including CSV, and comes with an out-of-the-box workflow to upload to WeWeb’s CDN.
Validation Allowed file types = CSV Offers “CSV” as a built-in allowed file type so the upload elements accept only CSV (or combinations you choose).
File handling Expose as Base64/Binary Can expose the uploaded file content as base64 or binary via the element variables, enabling custom parsing of CSV in the browser or via backend APIs.
Workflows Upload file to WeWeb CDN Provides an “Upload file” workflow action that stores the uploaded CSV in WeWeb’s CDN and returns a URL to reference or send to your backend (Xano, Supabase, etc.).
Backend integration Send CSV to backend Supports passing the file object or CDN URL to backend endpoints so the backend can parse and import CSV rows into tables (e.g., Xano or Supabase).
CSV plugin CSV extension plugin Adds the “CSV” plugin in Plugins → Extensions and unlocks the “Download data as CSV” action in workflows.
Export Download data as CSV action Takes an array of items (from a collection or variable) and generates a downloadable CSV file for the user directly from the app.
Data sources Work with any data source Allows using any WeWeb collection (REST, database, etc.) as the input array for the CSV download, making it easy to export current views or filtered data.

Why use WeWeb with CSV

With WeWeb, you can export the right data at the right moment based on who the user is, what they filtered, and what your app is showing.

Perfect for:

  • A client portal where customers export invoices, usage, or ticket history
  • An internal dashboard where teams export filtered records for audits or weekly reporting
  • A CRM where sales reps export a segment (by owner, stage, territory) for outreach
  • A finance or BI workflow where stakeholders download a CSV and analyze it in their own tools

And more…

Integrating CSV with WeWeb

Integrating CSV with WeWeb is straightforward:

  • In the WeWeb Editor, go to Plugins → Extensions and add the CSV plugin
  • Create a workflow (for example, on a button click)
  • Add the action Download data as CSV
  • Bind the Data input to the list you want to export (your collection results or an array variable)

Learn more about WeWeb x CSV integration

Best practices

  • The Data field expects an array of items, even if you’re exporting a single row so make sure your workflow passes a list format
  • If your UI includes calculated fields (values derived in WeWeb), consider building an export-ready array that matches what users see before triggering the download
  • For large datasets, export the filtered subset users actually need, or add pagination/limits to keep downloads responsive

FAQs

1. How can users upload CSV files in a WeWeb app?

Use the File Upload or Drag and Drop files elements and restrict allowed types to CSV so users can select or drop CSV files.​ Those elements expose the uploaded file (and its metadata) via component variables for use in workflows.​

2. Can WeWeb parse CSV files into rows natively?

WeWeb does not include a built-in CSV‑to‑rows parser.​ You can parse CSV in the backend (Xano, Supabase, custom API) after upload or call a custom JS function/library (like PapaParse) in the frontend.​

3. How do I import CSV data into my backend (e.g., Xano or Supabase) from WeWeb?

Let the user upload a CSV via a file element, upload it to WeWeb’s CDN, then send the resulting URL to a backend endpoint.​ The backend parses the CSV and inserts rows into its tables, which WeWeb then reads back via normal collections.​

4. Can a user see a preview of CSV data before importing?

There is no opinionated CSV preview component, but you can parse the uploaded file (via JS or backend) and bind the resulting array to a repeater or table.​

5. How do I export collection data as a CSV from WeWeb?

Install the CSV plugin and use the “Download data as CSV” workflow action.​ Feed it an array (often a collection’s items or a filtered array) and it generates a downloadable CSV file for the user.​​

6. Can I export only filtered or paginated results to CSV?

Yes, the CSV download action works with whatever array you pass, so you can send a filtered array variable instead of the raw collection.​ That way, the exported CSV reflects the current view (filters, search, or selection) in your UI.​

7. What are the main limitations of WeWeb’s native CSV support?

There is no drag‑and‑drop “map columns” CSV importer, parsing and mapping logic must live in JS or your backend.​ Likewise, CSV export is one‑way: it can generate a file from an array but does not manage versioning or sync with external storage by itself.

Start building for free

Sign up now, pay when you're ready to publish.