Skip to content

IPFS Ninja ​

Easily upload images, PDFs, and JSON files to IPFS and get a permanent content identifier (CID) with instant gateway access.

Upload a file to IPFS in 3 steps ​

  1. Start your 7-day trial (no credit card required).
  2. POST /upload/new with your file.
  3. Receive your permanent CID with instant gateway access.

The InterPlanetary File System (IPFS) is a decentralized, peer-to-peer storage protocol. IPFS breaks files into smaller chunks, distributes them across the network, and assigns each file a unique content identifier (CID) based on its contents.

This means:

  • Distributed storage — your files are stored across multiple nodes for improved reliability.
  • Content addressing — the CID is derived from the file content itself, ensuring immutability.
  • Network-wide accessibility — anyone with the CID can retrieve the file from any IPFS node.

What IPFS Ninja does ​

IPFS Ninja is a managed service that lets you upload files and pin existing content on IPFS through a simple REST API. No need to run your own IPFS node.

  • Upload new files — send any file via POST /upload/new and get a permanent CID
  • Pin existing CIDs — already have content on IPFS? Pin it to our cluster via POST /pin to ensure it stays available
  • Access via gateway — all pinned content is accessible at ipfs.ninja/ipfs/<CID> (the apex gateway only serves CIDs in your account or in other IPFS Ninja accounts — see Gateway access below)
  • Custom metadata — attach key-value pairs to uploads and pins for organization and filtering
  • Signed upload tokens — generate time-limited tokens for client-side uploads without exposing your API key
  • IPNS mutable names — create stable names that point to changing CIDs via IPNS API, with up to 10 names per account
  • Image optimization — resize, convert, and compress images on-the-fly via gateway URL parameters

Dashboard ​

Track uploads, storage, and gateway bandwidth from your personal dashboard. The dashboard also lets you drive most of the API without writing code:

  • Drag-and-drop upload — files, folders (packed into a UnixFS directory in your browser), or .car archives
  • Rename files after upload; description auto-fills from the filename on select
  • Snapshot a folder to get a single directory CID for everything inside
  • Configure S3 CORS per bucket via a form editor (for browser SDK integrations)
  • Manage API keys, gateway tokens, IPNS names, and dedicated gateway settings
IPFS Ninja Dashboard with analytics, charts, and usage stats

Gateway access ​

Every uploaded file is accessible through the IPFS Ninja gateway, which acts as a bridge between the decentralized IPFS network and traditional web browsers.

The gateway URL follows this pattern:

https://ipfs.ninja/ipfs/<CID>

Apex gateway scope

The apex gateway at https://ipfs.ninja/ipfs/<CID> only serves CIDs that have been uploaded or pinned by a registered IPFS Ninja user. Requests for any other CID return HTTP 410 Gone with a pointer to public IPFS gateways like ipfs.io or dweb.link. To serve a third-party CID through our gateway, sign up free and POST /pin it to your account first.

TIP

Your files are also accessible from any public IPFS gateway (e.g. dweb.link, w3s.link) using the same CID — the IPFS network is decentralized.

All paid plans get a dedicated gateway at their own subdomain (<slug>.gw.ipfs.ninja) that only serves files pinned to their account — with optional token-based access control and origin restrictions. The dedicated gateway is the recommended URL for production embedding (videos, NFT viewers, websites).

Supported file types ​

TypeFormatsInput
JSONAny valid JSON object or arraystring / object
ImagesPNG, JPG, WebP, GIF, TIFF, SVGbase64
PDFsStandard PDF documentsbase64
HTMLHTML documentsbase64
AnyAny file (binary, text, video, etc.)base64

All file types are accepted. The type is auto-detected and recorded for your reference.

Security

Gateway responses include security headers (Content-Security-Policy: sandbox, X-Content-Type-Options: nosniff, X-Frame-Options: DENY) that prevent browsers from executing scripts in served content.