CC0 sample files and test fixtures: find one, get its URL and SHA-256, check a copy on disk.
Runs on your machine from its package; the steps are below.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y loremfile
MCP client config
{
"mcpServers": {
"loremfile": {
"command": "npx",
"args": [
"-y",
"loremfile"
]
}
}
}Run
uvx loremfile
MCP client config
{
"mcpServers": {
"loremfile": {
"command": "uvx",
"args": [
"loremfile"
]
}
}
}Free, CC0, hotlink-friendly sample files for every file type. Lorem Picsum, but for PDFs, images, audio, video, office documents, data files, archives, fonts, text encodings, raw byte blobs and deliberately malformed edge cases.
https://loremfile.dev/pdf/a4-3pages.pdf
https://loremfile.dev/bin/10mb.bin
https://loremfile.dev/mp4/720p-5s.mp4
https://loremfile.dev/edge/jpg-truncated-50pct.jpg
No ads, no accounts, no rate-limit surprises, no attribution required. Open CORS, byte-range
support, one-year immutable caching, and a machine-readable
manifest.json with SHA-256 hashes for every file.
228 files across 78 formats plus the edge/ set are live, at catalog version 1.2.0. The
specification lives in docs/.
The canonical host is https://loremfile.dev.
This README is the out-of-band pointer: if loremfile.dev is ever unavailable or moves, the
current canonical host is stated here first. Do not rely on any other mirror.
supersededBy. A file may be
withdrawn for legal reasons, and the manifest then keeps a tombstone for it. There is no
promise of availability — see the terms./llms.txt — what this service is, in one file./manifest.json — every fixture with path, bytes,
sha256, MIME type, tags and format-specific properties./sha256sums.txt — verify downloads with
sha256sum -c./{format}/index.json — one format at a time.Pull fixtures into a workflow and check each one against its sha256 in the manifest:
- uses: kumarprabhashanand/loremfile/action@action-v1
with:
paths: pdf/minimal.pdf mp4/720p-5s.mp4
formats: svg
It writes to loremfile-fixtures/ and outputs dir and count. A file whose bytes do not
match the manifest fails the step and names the file. catalog-version: "1.2.0" refuses to
run if loremfile.dev has moved on.
The action is shell only and talks to nothing but loremfile.dev. It downloads one file at a
time with a pause between them and backs off on a 429, because the published rate limit
applies to it like any other client. Linux and macOS runners only — it needs sha256sum
or shasum, and Windows is not supported rather than half-supported.
action-v1 is a major tag that moves as the action changes; it is deliberately not a v*
release tag, because those name a catalog version and are frozen once pushed. Pinning a
commit SHA works too and is the strictest option.
| What | Licence |
|---|---|
Every file served under a format path (/pdf/…, /bin/…, /edge/…) | CC0 1.0 Universal — public domain, no attribution needed |
| Generators, site and tooling in this repository | MIT |
| Website text and graphics | CC BY 4.0, attribute "loremfile.dev" |
Third-party tools used to generate the files are listed in THIRD_PARTY.md.
No third-party media is redistributed — everything is generated.
| Path | What |
|---|---|
docs/ | The full specification, 00–19. Start with docs/README.md. |
catalog/ | Declarative fixture definitions, one YAML per format. |
src/loremfile/ | Generators, validators, site builder, uploader, infrastructure code. |
infra/ | Cloudflare desired state, applied by workflow. |
manifest.json | Generated lock file — never hand-edited. |
Fixture requests and bug reports go in Issues; see
CONTRIBUTING.md for the naming grammar and what makes a good fixture.
Security reports: SECURITY.md.
By opening a pull request you agree that generator code is MIT and any resulting fixtures are CC0.