In 2024, Photopea made about $3 million. It is a free image editor that runs in the browser, it is built and maintained by one person, Ivan Kutskir of Prague, and roughly 90 percent of that money came from the advertising shown next to the canvas. His running costs, by his own accounting, were about $20 a year for the domain, $600 for hosting, and around $12,000 for the AI features. Nearly everything else was margin.
The lesson is not that free products can make money. It is the specific machine underneath: a tool people sit inside for hours, an architecture that costs almost nothing to serve, and a five-year stretch in which it earned exactly nothing. Each part matters, and the last one is the part most people skip over.
Five years at zero dollars
Kutskir started Photopea in 2012 as a student project: a way to open Photoshop's PSD files in a browser without owning Photoshop. The first public version went live on September 14, 2013. While studying he put in, as he told Indie Hackers in May 2025, "about 10 hours each month," and he did not monetize at all until 2017, when he finished his master's degree and went full time on the editor.
He described the ramp himself in a Hacker News comment in September 2018: "After the first 7 000 hours of work, I made $0. Now (after about 10 000 hours of work), Photopea is used by one million of people every month, and I have a decent income just from ads, even without working on it."
Seven thousand hours is three and a half years of full-time work. He could afford it because the project ran alongside a degree and cost him almost nothing but time. If your situation cannot absorb years of unpaid effort, this model starts with a handicap, and it is better to know that on day one.
Where the $3 million comes from
The revenue mix has been stable for years. In an April 2021 AMA on Hacker News he wrote: "I made almost $1 million in the last 12 months, 90% from ads." The other 10 percent came from Premium accounts (people paying to hide the ads) and from licensing a self-hosted version to companies. By 2024 the same split produced $3 million, around $250,000 a month, per the Indie Hackers interview.
The paid tiers are worth a close look because of how modest they are. Premium launched in September 2016 at $5 a month, and at launch it did nothing: "It does not give you any extra features, but it helps us improve Photopea for you." Today it removes ads and adds storage and AI credits. The self-hosted license, per Photopea's own docs, runs $500 to $2,000 a month, prepaid annually. Neither product carries the business. They round it out.
Six cents per user-hour
The ad math surfaced in a September 2021 Failory interview: revenue was then about $100,000 a month, users were spending roughly 1.5 million hours a month in the editor, and ads paid on the order of 6 cents per user-hour.
That number explains the whole design. Display ads pay for attention time, not visits. A blog post earns a pageview measured in seconds; an image editor holds a person for an hour while they work. Photopea does not need to convert anyone to anything, it needs people to keep editing. By May 2025 about 1 million people were using it every day. At 6 cents an hour, only that kind of scale turns "free" into a seven-figure income, which is the honest constraint: a free tool with ten thousand loyal users earns coffee money from ads, not a living.
Marketing was answering questions in public
Kutskir has never bought ads for Photopea. The Failory interview lists his channels: posting on Reddit, Hacker News and in comment sections, plus reaching out to content creators, with a paid marketing budget of zero.
The single biggest lever was the Reddit AMA. His first one, in November 2018, collected about 43,000 upvotes, and an Indie Hackers analysis traces monthly users going from 1.5 million to 3 million in the roughly seven months that followed. He repeated the format in later years and kept answering individual user problems on Reddit in between. The pattern is copyable: he did not announce the product, he made himself available to be questioned about it, on a platform where "free alternative to Photoshop" is something people genuinely want to discuss.
The cost base is the strategy
Photopea runs entirely as client-side JavaScript. Your computer does the image processing; his server mostly hands over the code. In the 2018 AMA he put server costs at $20 a year. By late 2024 the fuller picture, per Indie Hackers, was about $600 for servers, $20 for the domain and roughly $12,000 a year for AI features: around $12,600 all in, against $3 million coming in.
That architecture is what makes 6 cents per user-hour survivable. If every editing session cost him server-side compute, the ad revenue would be feeding a hosting bill instead of a person. Anyone building a free tool should price this out early: the model only works if serving the marginal user costs approximately nothing. It is the same discipline that lets Carrd charge $19 a year and still prosper, applied to a product that charges most users nothing at all.
What this model needs before you copy it
Four conditions did the work here. The product occupies time in hours, not seconds, because ads pay per hour of attention. The marginal cost of a user is near zero, because the user's own machine does the computing. The incumbent is expensive enough that people actively search for a free alternative, which turns the incumbent's marketing budget into your demand. And the builder could survive years before revenue, which is the quiet filter that removes most people.
If your tool saves people time instead of occupying it, charge money for it instead; that is the TypingMind path, and it pays sooner. But if you have built something people will sit inside all afternoon, Kutskir's numbers say a one-person company can run it indefinitely. He has turned down buyers for years, and his advice on that is characteristically blunt: "Do not sell your work if someone offers you 10x, 100x, or even 1000x more money than you have made in your life so far."
Discussion
Sign in with Google or just a name. No email link, no password to remember.