Boring Websites The Blog

Random Fox: the website that serves one fox at a time

28 Oct 2026 · By the Boring Websites editors

Random Fox is a website that does exactly one thing: it shows a photograph of a fox, and offers a button to show another. There is no feed, no login, no infinite scroll, and no attempt to keep anyone there. It is worth a look because it is a small, honest demonstration of the single-purpose web, and because the quiet API behind it has become a standard teaching tool for people learning to fetch data.

In brief

  • One page, one button, one fox photo at a time, drawn from a fixed collection.
  • A keyless public API at randomfox.ca returns a fox as plain JSON, and that endpoint is arguably more used than the site.
  • Built by a developer who goes by xinitrc, with the source and the fox submissions kept on GitHub.
  • It repeats. The collection is finite on purpose, which makes it a tool rather than an endless feed.

What Random Fox actually does

The homepage loads a single fox photograph and a control to request the next one. That is the entire product. There is no navigation bar, no related content, and no recommendation engine nudging the visitor toward a tenth fox. A person clicks, a new fox appears, and at some point the person decides they have seen enough foxes and closes the tab.

This restraint is the point. Most of the modern web is built to extend a session: autoplay, bottomless feeds, and notifications that pull people back. Random Fox does none of that. It answers one request and then waits, politely, for the next one. The experience is closer to flipping through a shoebox of printed photos than to browsing a platform.

Because the page asks nothing of the visitor, it also collects nothing from them. There is no account to create, no cookie banner to dismiss, and no questionnaire about preferred fox breeds. The interaction is complete the moment the image finishes loading.

One button, one job

Single-purpose sites live or die by how clearly they state their job, and Random Fox states it in the title bar: random fox. The design gives the photo almost all of the available space and keeps the controls minimal. A visitor does not need instructions, a tour, or an onboarding flow, because there is only one thing to do and the layout makes that one thing obvious.

That clarity is harder to achieve than it looks. A site with a single job has nowhere to hide a confusing interface. If the button were ambiguous or the image slow, the whole thing would feel broken, because there is no second feature to distract from the first. Random Fox mostly avoids that trap by doing very little and doing it quickly.

The restraint also sidesteps a problem that sinks many hobby sites: scope creep. There is no comment section to moderate, no tagging system to maintain, and no user profiles to secure. The maintainer's job is to keep a static page and a small endpoint alive, which is a far lighter burden than running a community.

The API that outgrew the website

The more interesting half of Random Fox is not the page but the endpoint behind it. A request to randomfox.ca/floof/ returns a small JSON object with two fields: an image URL pointing at a fox photo, and a link back to that fox on the site. That is the whole contract, and its simplicity is why it travels so far.

Checking the endpoint directly shows a response that pairs an image path such as images/92.jpg with the matching link back to the site. It is served as JSON, it sets an open cross-origin header so browser code on any site can call it, and it requires no key or sign-up. Those three properties, keyless access, permissive cross-origin headers, and a tiny predictable shape, are exactly what a beginner needs.

That is why the endpoint shows up in curated directories of free public APIs. The community-maintained public-api-lists collection, for instance, catalogs it alongside hundreds of other no-authentication services, noting its HTTPS support and open access. For a student writing their first fetch call, a fox is a friendlier payload than a stock ticker.

The endpoint is also watched. The Free Public APIs directory, which tests listed endpoints on a schedule, reported the Random Fox API at a health score of 85 out of 100 over a recent thirty-day window, with 100 percent reliability, a zero percent error rate, and an average response time around a second. For a hobby project with no visible funding model, that is a steady record.

Part of that steadiness comes from how the response is served. The endpoint sits behind Cloudflare, which absorbs traffic and keeps the origin from buckling under a classroom full of students all fetching foxes at once. The images are static files with predictable names, so there is no database query to slow down and little that can go wrong between the request and the picture. A small, boring architecture turns out to be the reliable kind.

The open cross-origin header matters more than it sounds. Because the endpoint allows calls from any page, a learner can drop a few lines of code into a blank HTML file, open it in a browser, and see a fox appear without running a server or wrangling a proxy. That immediacy is rare among free APIs, and it is a large part of why this particular fox keeps getting recommended to beginners.

Who made it, and where the foxes live

Random Fox is credited on the page to a developer who goes by xinitrc. The site states its authorship plainly and points to a GitHub repository, xinitrc-ls/randomfox.ca, where the code lives and where new fox photos can be submitted. The submission process is deliberately low-tech: links to images, offered through GitHub or by email, rather than an upload form on the site itself.

Keeping submissions in a repository rather than a database is a telling choice. It means the collection grows through pull requests, slowly and with a human in the loop, instead of through an open upload pipe that would need spam filtering and content moderation. The fox set expands at the pace of a side project, which is to say not very fast, and that is fine.

The photos themselves come from that curated set rather than from a live scrape of the internet. A visitor who keeps clicking will, before long, start seeing the same foxes again. The pool is a little over a hundred images, according to the site's own count, so the novelty is finite by design.

Why a fixed set of photos is a feature

Repetition sounds like a flaw, but for the API it is closer to a guarantee. A fixed, vetted collection means every response points at an image that is known to exist, known to be a fox, and known not to be something unpleasant that slipped through an automated crawler. A developer embedding the endpoint in a tutorial can trust what comes back.

A finite set is also cheap and durable. There is no crawler to run, no third-party image host that might rotate its URLs, and no licensing surprise from an image the maintainer never reviewed. The cost of keeping Random Fox online is close to the cost of hosting a folder of pictures and a one-line script, which is part of why it has survived as a side project.

For the person clicking the button, the finite pool sets a natural stopping point. An endless feed never gives a reason to leave. A collection of a hundred-odd foxes, encountered a few at a time, eventually loops, and the loop is the gentle signal that the visit is over. The site does not fight that moment. It lets it happen.

How it fits the single-purpose web

Random Fox belongs to a small genre of sites that pick one modest job and refuse to grow past it. Some deliver a single daily object, some answer one yes-or-no question, and some, like this one, hand over one picture per request. The appeal is the same across all of them: a clear promise, kept, with no strings attached.

Readers who enjoy that register will recognize the pattern in projects like Today's Rock, which presents a single rock each day and then stops. The shared logic is that a website does not have to be a platform. It can be a small, finished thing that behaves the same way every time, which is a surprisingly rare quality online.

What sets Random Fox slightly apart is its double life. The page is the friendly face, but the endpoint is the working part, quietly powering demos, tutorials, and small apps that never show the original site at all. It is a single-purpose website that also turned itself into a single-purpose service, and both halves keep doing their one job.

None of this requires the visitor to care about any of it. The whole arrangement can be ignored in favor of the only feature that matters to a casual guest: there is a fox, and there can be another fox. Everything underneath simply makes sure that promise keeps resolving, request after request, without asking for anything in return.

A quiet corner of the free-API world

The Random Fox endpoint did not appear in a vacuum. It belongs to a loose culture of small, keyless APIs that exist mainly so other people can learn, test, and tinker. These services trade in low-stakes data: a fox, a piece of trivia, a placeholder image. None of them would survive as a business, but as teaching material they are close to ideal, because a failed call costs nothing and the payload is easy to reason about.

Curated directories keep these endpoints discoverable. The public-api-lists project groups hundreds of them by category, and Random Fox sits in the animal section alongside similar single-subject services. The value of such a list is not any one API but the pattern it documents: a generation of developers learned to fetch JSON by asking a free server for something harmless and watching it come back.

That context explains the endpoint's durability better than its traffic does. A fox API does not need to be popular to be worth keeping online. It needs to be cheap, stable, and simple enough that a tutorial written years ago still works today. Random Fox clears that bar, which is why it keeps turning up in course material and starter projects long after its novelty has worn off.

What Random Fox is not

It is easier to describe Random Fox by what it refuses to be. It is not a social network, so there are no followers, likes, or profiles. It is not a content platform, so there is no algorithm deciding which fox a visitor sees next, beyond a coin flip. It is not an app, so there is nothing to install and no permissions to grant. The absence of all of this is the design.

It is also not trying to be comprehensive. A visitor hoping for a vast, searchable library of fox photography will be disappointed, because that is not the job. The collection is small and curated, and the site makes no claim otherwise. Random Fox is a demonstration and a toy, not an archive, and it is more pleasant for knowing the difference.

Finally, it is not demanding. The site does not chase the visitor with email prompts, it does not gate the next fox behind a wall, and it does not treat a closed tab as a problem to be solved. In an attention economy, a website that is content to be closed is a small act of restraint worth noticing.

The appeal of a finished website

Most websites are never done. They accumulate features, pivot, sprout dashboards, and eventually collapse under their own roadmap. Random Fox is interesting partly because it appears finished. The job it set out to do, show a fox on request, was complete long ago, and there is little left to add without betraying the premise.

A finished website is restful in a way that is hard to name. There is no fear of missing an update, no changelog to track, and no sense that the thing will be worse next month. It behaves today as it did when it launched, and it will almost certainly behave the same tomorrow. For a visitor, that predictability is the entire comfort of the format.

It is also a lesson for anyone building something small online. Not every project needs a growth plan. A clear idea, executed once and left to run, can outlast a dozen ambitious platforms that burned out chasing scale. Random Fox is quiet proof that doing one small thing well, and then stopping, is a legitimate way to ship.

FAQ

Is Random Fox free, and does it need an account?

Yes, it is free, and it needs nothing. The page at randomfox.ca loads without a login, and the API endpoint is keyless, so neither the website nor the service asks for registration or payment.

Can developers use the fox API in their own projects?

They can. A request to randomfox.ca/floof/ returns JSON with an image URL and a link, requires no key, and sends open cross-origin headers, which is why it appears in free public API directories like public-api-lists and Free Public APIs. The maintainer asks only for responsible use.

Why do the same foxes keep appearing?

The collection is finite. Photos are submitted through the project's GitHub repository and added by hand, so the pool grows slowly and sits at a little over a hundred images. Clicking long enough will repeat foxes, which is expected rather than a bug.

Is the Random Fox API reliable enough to depend on?

For a hobby project, its record is good. The Free Public APIs directory reported 100 percent reliability and a zero percent error rate over a recent thirty-day window. Even so, it is a side project with no service guarantee, so any production code should handle the occasional failed request gracefully.

Who runs Random Fox?

It is credited to a developer known as xinitrc, who keeps the code and the fox submissions in the public GitHub repository at xinitrc-ls/randomfox.ca. It reads as a personal side project rather than a company product.