How to Set Up FUNDING.yml for Your GitHub Repository

A quick guide to adding a FUNDING.yml file to your GitHub repo so visitors see a Sponsor button.

GitHub’s FUNDING.yml file adds a “Sponsor” button to your repository. It takes 2 minutes to set up and makes your funding links permanently visible.

That visibility matters because most maintainers lose donations at the point of discovery, not at the point of payment. If someone already appreciates your work, the easiest win is putting the funding options directly where they are looking at the code.

How to create it

Create a file at .github/FUNDING.yml in your repository. The format is simple — each line maps a platform to your username or URL:

github: your-github-username
open_collective: your-collective-name
ko_fi: your-kofi-username
custom: ["https://your-funding-page.com"]

Supported platforms

KeyPlatform
githubGitHub Sponsors
open_collectiveOpen Collective
ko_fiKo-fi
patreonPatreon
tideliftTidelift (format: platform/package-name)
community_bridgeCommunity Bridge
liberapayLiberapay
issuehuntIssueHunt
customAny URL (array format)

Example for a typical project

github: maintainer-name
ko_fi: maintainer-name
custom: ["https://www.buymeacoffee.com/maintainer"]

If you support more than one funding route, keep the list short and intentional. A good default is one primary platform such as GitHub Sponsors, one lightweight backup such as Ko-fi, and one custom link if you need a special donation or project page.

What happens after you merge it

After the file lands on your default branch, GitHub adds a Sponsor button near the top of the repository page. Visitors can click it and choose from the funding options you listed. That means a single small config file can improve discoverability across every visit to the repo, including stars, issue triage, and release review.

Tips

  • You can list multiple platforms — GitHub shows all of them in a dropdown
  • The file goes in .github/FUNDING.yml (not the repo root)
  • Changes appear immediately after merging to the default branch
  • Works for both personal accounts and organization repos

Common mistakes

  • Listing platforms you have not configured yet
  • Using the wrong key name, such as issue_hunt instead of issuehunt
  • Forgetting that custom must be an array, even for one URL
  • Leaving the file in a feature branch that never reaches the default branch

Not sure which platforms to include? Try the Funding Finder first, then add the recommended platforms to your FUNDING.yml.

This website uses cookies to ensure you get the best experience on our website.