All free tools
    Dev · Client-side only

    RSS-to-HTML embed

    Point at any RSS feed; get a self-contained HTML widget. Powered by the free rss2json bridge — no keys.

    HTML snippet
    <!-- RSS embed · generated with Build on Vibe · buildonvibe.site/tools/free/rss-embed -->
    <div class="rss" id="rss-c26ngh">
      <h3 class="rss__title">Latest from the blog</h3>
      <ul class="rss__list"><li class="rss__loading">Loading…</li></ul>
    </div>
    <style>
    .rss{max-width:640px;margin:2rem auto;padding:1.5rem;border:1px solid #e5e7eb;border-radius:16px;font-family:system-ui,sans-serif}
    .rss__title{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#f97316;margin:0 0 1rem}
    .rss__list{list-style:none;padding:0;margin:0}
    .rss__list li{padding:.75rem 0;border-top:1px solid #f3f4f6}
    .rss__list li:first-child{border-top:0}
    .rss__list a{color:#111;text-decoration:none;font-weight:600}
    .rss__list a:hover{color:#f97316}
    .rss__date{display:block;font-size:.75rem;color:#9ca3af;margin-top:.15rem}
    .rss__loading{color:#9ca3af;font-size:.85rem}
    </style>
    <script>
    (function(){
      var feed="https://buildonvibe.site/rss.xml",max=6;
      function esc(s){return String(s==null?'':s).replace(/[&<>"']/g,function(c){return({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]);});}
      function safeHref(u){u=String(u==null?'':u);return /^(https?:|mailto:)/i.test(u)?u:'#';}
      var api='https://api.rss2json.com/v1/api.json?rss_url='+encodeURIComponent(feed)+'&count='+max;
      fetch(api).then(function(r){return r.json();}).then(function(d){
        var el=document.currentScript.previousElementSibling;
        while(el && !el.classList.contains('rss')) el=el.previousElementSibling;
        if(!el||!d.items) return;
        var ul=el.querySelector('.rss__list');
        ul.innerHTML=d.items.slice(0,max).map(function(i){
          var dt=new Date(i.pubDate).toLocaleDateString();
          return '<li><a href="'+esc(safeHref(i.link))+'" target="_blank" rel="noopener">'+esc(i.title)+'</a><span class="rss__date">'+esc(dt)+'</span></li>';
        }).join('');
      }).catch(function(){});
    })();
    </script>
    Need a hand?

    Talk to a builder, not a bot.

    Questions about vibe coding, prompts, launching, pricing, or a partnership? We reply within one business day usually a few hours.