Chobble Tickets
Open source event ticketing with no per-ticket fees. Managed hosting for £50/year, or self-host for free. Find out more at tickets.chobble.com.
If you're fed up with companies like Eventbrite taking a cut of your ticket sales, read on.
Chobble Tickets is a simple, minimalist, and open source ticket sales platform I made. I can host it for you for just £50 per year regardless of how many tickets you sell, and the only other charges are card processing fees.
This could save you thousands of pounds every year if you run a lot of events.
Sign up here and I'll have you up and running within a couple of days.
You'll register with a payments provider (Stripe or Square), and I give you an admin panel to create and manage events and attendee lists. People can book online, and the money goes straight to your account. I'm not involved in the sale at all.
Community groups, charities, artists and musicians get 50% off at just £25/year.
And if you want to customise the platform or if you need support, I'll do that at my normal fixed hourly rates - or you can employ some other nerd to do that, because it's open source.
✨ Click here to read an early review of the system by Spencer from Elliott's Bouncy Castle Hire ✨
- Why Chobble Tickets?
- How it works
- Features
- See it in action
- Pricing
- Customisation
- Open source
- FAQs
- Get started: hosted
- Get started: self-host
Why Chobble Tickets?
Most ticketing platforms make their money by taking a cut of every ticket you sell by inserting themselves in the sale.
Eventbrite's fees are currently around 6.95% + £0.49 per paid ticket. So if you sell:
- 50 tickets at £5 each that's roughly £59 in Eventbrite fees
- 200 tickets at £10 each that's roughly £237 in Eventbrite fees
- 500 tickets at £15 each that's roughly £765 in Eventbrite fees
With Chobble Tickets, you pay £50/year regardless of how many tickets you sell or how many events you run. I'm not involved in your sales at all - the money goes straight to your account.
The only other fees are Stripe or Square's standard payment processing charges (for Stripe that's 1.5% + 20p per transaction in the UK).
If you're a community group, charity, artist or musician, that drops to just £25/year.
How it works
The £50/year gets you everything you need to start selling tickets:
- I set you up with your own Chobble Tickets instance
- You create your admin password which encrypts your attendee records, and set your currency
- You create events through a straightforward interface, setting the name, capacity, dates, ticket price, and what info you need from attendees
- You share the booking link or embed it into your own website (as an iframe), or use the built-in public site
- Attendees book tickets and pay online. If email is configured, they get a confirmation email with a link to their unique QR code ticket
- You manage everything from checking people in by scanning QR codes, to tracking capacity, exporting attendee lists, issuing refunds, and more
It's fully self-service. You don't need to tell me anything about your events or ask permission to create new ones. The admin panel is yours to use however you like.
I keep the platform running and maintained as part of the £50/year, but at that price I can't offer hands-on support. If you need help embedding it into your site or want me to tweak something, that's a quick job at my standard rates - £200/hr, or £100/hr for community groups, charities, artists and musicians.
Features
I'm always adding and tweaking things but this list is accurate in March 2026.
QR code check-in
Every ticket gets a unique URL and QR code. At the door, your staff or volunteers just log into the site and scan the code with their phone using the built-in QR scanner. The system confirms the ticket is valid and marks it as checked in. It's really easy. The scanner defaults to check-in-only mode to prevent accidental double-scans at a busy door, but staff can also toggle check-out when needed. If someone shows a ticket for a different event, you'll get a warning and can decide what to do.
No overbooking
The system uses "atomic" capacity checks, which means two people can't grab the last ticket at the same time. Tickets are reserved for five minutes for the visitor to complete their sale. If someone finishes paying after the event fills up, they're automatically refunded.
Standard & daily events
Standard events are your typical one-off occasions with a fixed capacity. Daily events let attendees pick a date from a calendar, with capacity applied separately to each day - ideal for classes, workshops, or anything that runs regularly. You set which days of the week are bookable and define holiday/blackout dates when no bookings are accepted. You can also set date and location fields which show up on the ticket page. Events can optionally be marked as non-transferable, requiring ID verification at check-in.
Groups & multi-event bookings
Groups let you bundle related events under a single URL - attendees see all active events in the group on one page, and you get attendee stats across the whole group. You can also create multi-event booking links that combine specific events into a single form and checkout, so attendees fill in their details once, pay once, and get a combined ticket view. There's a link builder on the dashboard so you don't have to construct the URLs yourself.
Registration deadlines & capacity
You can set a registration deadline so bookings close when you want them to. Control max tickets per purchase so one person can book multiple places in a single transaction. Add an event image or file attachments to display on the booking page (encrypted and stored on Bunny CDN), or set a header image in your site settings. You can format event descriptions with Markdown too.
Payment processing
Stripe is the default payment processor and works great for most events - just paste in your secret key and the webhook configures itself. Square is also supported if you prefer it, with a pluggable provider architecture. You can set configurable booking fees per transaction and offer "pay what you want" pricing with optional minimum and maximum thresholds. For free events, you don't need to set up any payment integration at all, and attendees just register and get their tickets.
Refunds
You can issue full refunds for individual attendees or bulk refund all attendees for an event in one go. The system also handles automatic refunds if capacity is exceeded after payment or if the event price changes during someone's checkout. Failed payments are tracked separately so they don't clutter your attendee list. You can also view payment IDs to check things in your payment provider's dashboard.
Configurable contact fields
You can collect the attendee's name, email, phone, address, special instructions, or any combination of those - and that data is all exported to the CSVs and webhooks too.
Public site
Don't have a website? Enable the built-in public site to get a homepage, events listing, terms & conditions page, and contact page on your domain. Choose a light or dark theme. Or keep it disabled and just share direct booking links. If you want something more bespoke, I can build you a website.
Embedding
Already have a website? Embed booking forms into it using the provided embed script or iframe code. You configure which domains are allowed to embed your forms via CSP frame-ancestors in the settings.
CSVs & webhooks
You can download your full attendee list as a CSV file whenever you like, with filters for date and check-in status. Set up a webhook (per-event or global) to trigger any type of web event when people register - useful for email notifications, Slack messages, or updating a spreadsheet. Multi-event bookings are consolidated into a single webhook call.
Email confirmations
Attendees get a simple confirmation email when they book with a link to their ticket, and admins get notified of each registration too. The system supports five email provider options: Resend, Postmark, SendGrid, Mailgun US, and Mailgun EU. Email templates use Liquid syntax with built-in filters for currency and pluralisation, and you can customise the subject, HTML, and text body. Email is optional - the system works fine without it.
Invite managers
If you've got a team helping to run events, the owner can invite additional managers to the admin panel via time-limited invitation links (7-day expiry). Owners get full access to everything. Managers can see events and the calendar but can't change settings or manage users. There's also session management so you can view active sessions, terminate any you don't recognise, or terminate all other sessions at once. Sessions expire after 24 hours.
Editing attendees
You can manually add attendees to events for walk-ins, comps, or manual corrections - bypassing the booking form and payment flow. You can also edit their name, contact details, and quantity, or reassign them to a different event.
Duplicate events
Running a similar event next month? Copy an existing event's configuration in one click rather than setting everything up from scratch. You can also deactivate events to hide them without deleting, and reactivate them later. Deleting an event requires typing the event name as a safety check.
Activity log
The admin panel keeps a log of actions including event creation, updates, check-ins, CSV exports, refunds, and deletions, so if you're running events with a committee or team, you've got a clear record of what happened and when. Each event also has its own log. You can also enable Ntfy error notifications for production monitoring.
Calendar view
The admin calendar shows per-date attendee counts across all events. Especially useful for daily events - you can see who's coming, manage check-ins, and export the day's attendees as CSV.
Terms & conditions
Set global terms that attendees must agree to before booking. Groups can have their own terms that override the global ones.
Custom redirects
Set a custom thank-you URL on any event to redirect attendees to your own page after booking, instead of the default confirmation page.
Built-in admin guide
The admin panel has a built-in guide covering events, payments, check-in, and more, so you don't need to go looking things up elsewhere.
QR code posters
Each event has a downloadable QR code SVG that links to its booking page. Print it on posters, flyers, or table cards so people can scan and book on the spot.
Custom domains
Set up a custom domain like tickets.yourorg.com in the admin settings, instead of using the default Bunny CDN domain.
Apple & Google Wallet
Attendees can add their tickets to Apple Wallet or Google Wallet directly from their ticket page. Passes include event details and barcodes, and Apple Wallet passes support automatic updates via a standards-compliant web service API.
Calendar & RSS feeds
The system provides an ICS calendar feed at /feeds/events.ics and an RSS feed at /feeds/events.rss, so attendees or organisers can subscribe to upcoming events in their calendar app or feed reader.
Public API
A RESTful JSON API is available for listing events, checking availability, and creating bookings programmatically. The API is CORS-enabled and doesn't require an API key, making it easy to integrate with other tools or build custom frontends.
Encryption
All personal information (names, emails, phone numbers, addresses) is stored in an encrypted PII blob using hybrid RSA-OAEP + AES-256-GCM encryption. Only authenticated administrators with the private key can decrypt it, so it can't be read from the database directly. Even in the unlikely event of a data breach, personal information stays protected. Payment IDs and API keys are also encrypted with AES-256-GCM. The system includes rate limiting (5 failed logins trigger a 15-minute IP lockout), CSRF protection via double-submit cookies, and content-type validation on all POST endpoints.
See it in action
View a live demo ticket → | Read more about Chobble Tickets →
The platform runs on Bunny Edge Scripting, a global edge network, so it loads fast for your attendees no matter where they are. It can also be deployed via Docker, Fly.io, DigitalOcean, Heroku, Koyeb, Render, or any Deno environment. Edge hosting means the system scales up and down automatically - it handles a 20-person workshop and a high-traffic festival launch equally well. Atomic capacity checks mean no overbooking even under heavy load.
Pricing
£50/year. No setup fees, no per-ticket charges, no hidden costs. This covers your own Chobble Tickets instance, ongoing maintenance, and as many events and tickets as you need. When you renew, I'll upgrade you to the latest version.
50% off for community groups, charities, artists and musicians, at just £25/year.
The only additional cost is your payment provider's standard processing fee (for Stripe, 1.5% + 20p per transaction in the UK). This goes directly to Stripe - Chobble doesn't add anything on top. Free events have no fees at all.
Need hands-on help?
If you want me to embed the ticket system into your website, customise the styling, or make other tweaks, I will bill you at my hourly rate (by the half hour):
- £200 at my standard rate
- £100 for community groups, charities, artists and musicians
If you need a website to embed your tickets into, check out my static website or charity web development services.
The code is open source and released under the AGPLv3 license, so any other nerd can modify it too - as long as their code is also open source.
Customisation
The standard platform handles most use cases. But if you need something more, I'm happy to customise:
- Custom branding and styling to match your organisation's look
- Custom form fields for dietary requirements, accessibility needs, t-shirt sizes, or whatever your event requires
- Website integration with embedded widgets and custom styling to blend seamlessly with your existing site
- Anything else you can think of, just ask
Customisation work is charged at my standard rates. And here's a bonus: if you suggest a feature that's good enough to build into the base platform for everyone, I'll halve the development cost for you.
Open source
Chobble Tickets is fully open source under the AGPL licence. You can read every line of code that handles your attendees' data. If you're technically inclined, you can even host it yourself for free.
The platform is built with Deno and uses esbuild to compile into a single JavaScript file. The recommended deployment runs on Bunny.net using their edge scripting and hosted databases, but it also runs via Docker, Fly.io, DigitalOcean, Heroku, Koyeb, Render, or any Deno-compatible host. It uses libsql (local SQLite or remote Turso) for storage. If you want to dig into the technical details, the GitHub repository has everything.
Get started: hosted
Ready to stop paying per-ticket fees? Sign up and I'll set up your own Chobble Tickets instance. I'll be in touch within a couple of days to get you going.
Mention if you're a community group, charity, artist or musician for the 50% discount.
Get started: self-host
Chobble Tickets is fully open source and you can self-host it for free. The recommended setup runs on Bunny.net using their edge scripting, but you can also deploy via Docker, Fly.io, DigitalOcean, Heroku, Koyeb, Render, or any Deno-compatible host. The database uses libsql (local SQLite or remote Turso).
You'll need these environment variables:
| Variable | Required | Description |
|---|---|---|
DB_URL |
Yes | libsql database URL |
DB_TOKEN |
Yes* | Database auth token (*remote databases only) |
DB_ENCRYPTION_KEY |
Yes | 32-byte base64-encoded AES-256 key |
There are also optional variables for image uploads (STORAGE_ZONE_NAME, STORAGE_ZONE_KEY), a global webhook (WEBHOOK_URL), error notifications (NTFY_URL), email providers, and Apple Wallet configuration.
On first launch, visit /setup/ to set your admin credentials and currency. Payment providers are configured at /admin/settings.
For full setup instructions, all environment variables, deployment steps, and development commands, see the README on GitHub.