Save at a stable pathPlace the file at /feed.json and link from the page head: <link rel="alternate" type="application/feed+json" href="/feed.json">
Serve the right MIME typeSend Content-Type: application/feed+json so strict readers detect the format. JSON is fine as a fallback.
Readers that accept JSON FeedMicro.blog, NetNewsWire, Inoreader, Feedbin, FreshRSS, and many static site generators (Hugo, Eleventy, Astro, Zola) consume it directly.
Ship RSS alongsideMost readers still rely on RSS. Generate an RSS 2.0 file too and announce both in the page head with separate rel="alternate" tags.
How to use
1Pick a mode at the top: Generate to build a JSON Feed from scratch, or Validate to check an existing feed.json against the JSON Feed 1.1 spec.
2In Generate, set the feed Title (required). Add home_page_url, feed_url, description, language, icon, and favicon for richer reader display.
3Click + Add item for each post or episode. Set id (or leave blank to auto-fill from the url) and at least one of content_html or content_text; both are required per the spec.
4For podcasts and downloads, expand an item and click + Add attachment, then fill in url and mime_type (audio/mpeg for mp3, video/mp4 for mp4, application/pdf for PDFs).
5Watch the Validation panel for errors and warnings. Errors mean a strict reader will reject the feed; warnings are usually safe but worth fixing.
6Click Copy JSON to grab the file, or Download .json to save feed.json. Place it at a stable URL (commonly /feed.json) and link it from the page head with rel="alternate" type="application/feed+json".
7Switch to Validate and paste any JSON Feed document to see version, required-field, URL, date, and id-uniqueness checks with item-by-item line items.
About this tool
JSON Feed Generator builds a spec-compliant JSON Feed 1.1 document (jsonfeed.org/version/1.1) from feed-level metadata and a list of items you enter by hand. JSON Feed is the JSON-shaped alternative to RSS and Atom, supported by Micro.blog, NetNewsWire, Inoreader, Feedbin, FreshRSS, and a growing list of static site generators (Hugo, Eleventy, Astro, Zola). The Generate tab covers every field in the spec: feed-level title (required), home_page_url, feed_url, description, user_comment, next_url for pagination, icon (large square image), favicon (small square image), language as a BCP 47 tag, an expired flag for retired feeds, and one or more feed-level authors with name, URL, and avatar. Each item supports id (required; auto-filled from the URL when blank), url, external_url for linkblog entries pointing to other sites, title, content_html, content_text (at least one of the two is required per the spec), summary, image, banner_image for wide hero art, ISO 8601 date_published and date_modified parsed from any browser-acceptable input, per-item authors, comma-separated tags, an optional per-item language override, and zero or more attachments with url, mime_type, optional title, size_in_bytes, and duration_in_seconds (the fields podcast feeds and download lists need). Validation runs live as you edit: a missing title, an item with no content, a duplicate id, an invalid http(s) URL, an unparseable date, an attachment with no url or mime_type, all surface as errors before you ship. The output panel renders the full JSON with byte count and item count, copy and download buttons, and a one-click hand-off to the Validate tab. The Validate tab accepts any JSON Feed text (including 1.0 documents, which it flags as out of date) and runs the full v1.1 schema check: version URL, required strings, URL-typed fields, ISO 8601 date strings, duplicate ids across items, unknown top-level keys (the spec requires custom extensions to start with an underscore), the 1.0 to 1.1 rename from author to authors, and attachment field types. The feed summary at the top breaks out the parsed metadata for a quick visual scan. Useful for static site owners adding JSON Feed alongside RSS, indie devs building feed readers and wanting a quick conformance check, Micro.blog users hand-writing posts, and anyone debugging a feed.json that a strict reader rejects. The tool runs entirely in your browser; the feed fields you enter and any pasted JSON never leave your device.
Free to use. Works in your browser. No signup, no login.