Cloudflare acquires Astro
https://www.cloudflare.com/pl-pl/press/press-releases/2026/c...
For example, Cloudflare released their vite plugin which makes it effortless for frameworks that use the vite env API to run inside workerd (meaning you get to use cloudflare service bindings in dev) back in April and only React Router had support for it. Nextjs has no support, the draft PR to add support for Sveltekit has been parked until the next major version, Astro only just added support in their beta 6.0 release 3 days ago
With this acquisition, Astro will probably be first to future updates that increase compatibility with cloudflare. It's smart, and was probably not very expensive (more of an acqui-hire)
Staying open to all was a non-negotiable requirement for both us and for Cloudflare.
They have deployment guides for practically every provider out there: https://docs.astro.build/en/guides/deploy/
And at the end of the day, most of the deployment is just deploying a static site... Which you can do practically anywhere.
Or they could add features that only work if you deploy via cloudflare.
I also take anything said in an acquisition announcement with a grain of salt. It is pretty common for companies to make changes they said they wouldn't a few years after an acquisition.
What Vercel really did was make Next.js work well in serverless environments, which involves a lot of custom infrastructure[0]. Cloudflare wanted that same behavior on CF Workers, but Vercel never open-sourced how they do it, and that is not really their responsibility.
Next.js is not locked to Vercel. The friction shows up when trying to run it in a serverless model without building the same kind of platform Vercel has.
They also have three pages worth of deployment adapters for one line deployment on many platforms, including many built by the community. https://astro.build/integrations/?search=&categories%5B%5D=a...
Did you even bother to look at their site or even better the guides I posted upthread or just decide to pull that out of your ass?
And yes I can see you're posting the same lie all over the comments here.
Stop being a potty mouth.
Once again, what lock in? There is literally nothing to lock in. Explain exactly how they are going to lock somebody in, moreso than the lazy "for now" which you seem to constantly repeat.
Almost every (it seems) acquisition begins with saying, 'nothing will change and the former management will stay on'. A year later, the former managment leaves and things change dramatically.
I don't want to deal with the cloud infra for my personal site.
I could, I've done it in corporate, I've done it for my startup 2 years ago. But I'm rusty, I don't know what the latest people are using for configuration, etc.
Because there is 1 click with CF or Vercel and I don't have to think about it—I don't. If they increase their price it likely wouldn't be enough friction for me dust off the rust.
I think this is the relation. I'm not locked in, it's just HTML pages, but I am through my own habit energy, tech changing, and what I want to put effort into, which is not infra and serving my site.
Nextjs has no support
From what I remember, you can't even run a NextJS app through vite?
It's like being mad that Rails can't run on Python, or that React can't run on jQuery. Next already has its own build system, so of course it doesn't work with another build system.
It's also wise to use monorepo orchestration with build caching like Turborepo.
They did well on the turbo stuff, no doubt about it.
The main bottleneck with big projects in my experience is Typescript. Looking forward to the Go rewrite. :)
CF could have kept coasting on what Astro was building, but instead they are paying for it. But in return they get a lot of control.
Supabase pioneered the modern implementation of this model. Probably, RedHat before it? Google also tend to "acquihire" maintainers of popular FOSS projects, like Ben Goodger (Firefox), Scott Remnant (Upstart), Junio Hamano (Git), Guido von Rossum (Python).
I was impressed since I got interactive compilation and state tracking of how many exercises the user completed.
I’m close to the vite plugin in particular and have contributed to multiple frameworks around cf integration (simply because I use cf), that’s why I chose it as an example (and it’s one of Astro 6’s biggest features)
I think every deployment pipeline having it's own preferred UI framework (and CMS, and cloud-DB solution) makes a lot of sense.
Source: I use cloudflare and used to run my app there (nextjs) and had to do a migration to vite.js. So the way I see it, this is cloudflare response to vercel.
It’s wild that they’re somewhat taking the whole React ecosystem with them.
Cross fingers that CloudFlare never try similar lock-in games, now that they control Astro?
Additionally, I wish more serveless cloud vendors would offer a free tier like Vercel, including support for compiled languages on the backend (C, C++, Rust, Go) without asking me for a credit card upfront.
I also wouldn't be surprised if cloudflare wants to build this into their site-hosting capabilities.
Its quite a nice DX actually.
I could see Cloudflare just wanting to push for a bit more vertical integration in the space to give themselves some more options.
I have only used Astro for toy stuff but it seemed neat. Congrats to the team.
EDIT: To put paid to the sidebar discussion below, yes I meant "for instance, consider `uv`; they might do these nice things and go nowhere but now that companies like Bun and Astro have gotten acquired, it demonstrates a future for others; therefore we will get more things like Astral's `uv` and so on". Hope that clarifies.
if dev tools can only be "monetized" by being bought out, it does not feel sustainable on any level
we will see companies attempt to do things like close source these projects, go subscription based, or just straight up drop support
there is no incentives for cloudflare to make astro better, or even keep it around
same goes with bun, svelte, and i'm sure countless others
So all those frameworks have to end up somewhere, and I’d rather it be somewhere else than vercel, as they already own way too much of the web frontend space.
there is no incentives for cloudflare to make astro better, or even keep it around
There is - to counter NextJs. NextJs is a pain to host outside Vercel and makes Cloudflare lose customers. In theory that's why Gatsby was bought out.
same goes with bun, svelte, and i'm sure countless others
Svelte was also taken over by Vercel. To control frontend hosting. Bun isn't in the same bucket. There isn't such competition going on.
Edit: OP clarified what they meant, I'm sorry for the misunderstanding on my part!
For pedantry's sake: neither i.e. nor e.g. would be correct here. You want cf. ("conferatur") to invite a comparison; e.g. is when an example pertains to an instance. In this case uv would not pertain to the instance, because Astro is not Astral.
(For the OP: I'm sorry if I misinterpreted you.)
Regardless, these Latin abbreviations best avoided entirely due to the surprising number of readers who don't understand them.
e.g. is latin for "exempli gratia" = for example i.e. is latin for "id est" = that is
It's possible you are right, but it isn't clear from the content of the comment.
I mean good for them, but it would be nice if the same happened to e.g. Astral (cf.).
It'll be interesting to see where Astral ends up landing on that; afaik they have a small team and have only raised seed money, but who knows.
I suppose they might disagree, of course :)
Very nice to see these dev tools get an exit. e.g. I love `uv` and friends but did consider that perhaps dev tools are just a bad business
I can't even begin to comprehend what kind of world view you need to have, to think that being bought out by some megacorp with an at-best 50/50 chance of continuing existing products is an accurate measure of a "good business", much less that its the only measure.
In 2021, Astro was born out of frustration. The trend at the time was that every website should be architected as an application, and then shipped to the user’s browser to render.
Was it? Hot damn, I knew it'll eventually happen, but we truly are just running around in circles. Eventually these same people will do the same loop around, creating new frameworks because the current "server<>client" model suddenly doesn't make any sense anymore, and of course this should be rendered server-side.
Why are we doomed to repeat this, and why does it happen so quickly particularly in web development? We have each other's histories and knowledge right in front of us, what's missing for us to not continue just running around in circles like this?
It feels like the "JavaScript as a Server Side Language" folk are just repeatedly re-inventing stuff that has been done a million times by other systems with a different back-end only with a new fancy name.
I know this sounds similar, but, compared to the more traditional approach, there is a certain simplicity to having everything just be javascript. You can often run the same libraries on both server and client depending on your needs, plus it fulfills the promise of web components in a way that is easier to work with (though WCs have also come a long way!)
Should be astro lakes or something.
Then “sub-component level hydration” would be resumability like in qwik where only events and their dependencies get serialised as client js.
Then along came libraries like mootools, knockout, etc all the precursors of react, then react changed the game around encapsulation of markup and code into one place, and straightforward data flow.
SPAs were inefficient so server side rendering of js became ubiquitous, islands are a further optimisation of ssr.
This hasn’t happened in a vacuum, if you look at modern php frameworks like inertia they have a lot more in common with Astro than they do the good old 90s php
The other nice thing is that you can throw all kinds of preexisting components from React/whatever into your site, and it will ship zero JS to the client until you explicitly flag a specific JS resource as an "island".
The only special thing about "islands" is that they're an escape hatch from the default behavior of JS being strictly build-time-evaluated. I found the terminology and description a little confusing at first too, because it makes it sound more special than it is. But the concept makes sense when you understand the context of Astro's intentional default behavior.
By the way, I'm getting a 404 at https://www.weakphi.sh/showcase.
There's a really nice pattern of using Custom Elements[0] for that sort of JS interactivity sprinkling. You can make your web application however you want, and when you want the client to run some JS, you just drop in `<my-component x="..." y="...">...</my-component>` with whatever flavour of HTML templating you have available to you. (also possibly with the is= attribute in the future[1], which will let you keep more of the HTML template out of JS)
It saves you the hassle of element targeting and lets you structure that part of your app a bit more without going overboard on "everything is a react component, even the server bits".
Want something "server side generated" in that JS? Just render it in attributes/body/a slot element/a template element, and expect to pick it up in the JS side of things. Feels like how it's supposed to be... and there's no framework required!
[0] https://developer.mozilla.org/en-US/docs/Web/API/Web_compone...
[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...
React makes sense if you're making Gmail. It doesn't really make sense if you're making a mostly static blog. But because there are more job opportunities in the former (when you consider the wealth of internal web apps out there in the world) all the training courses folks take emphasize React and an app-centric way of thinking about the web.
And perhaps most importantly, it's good enough. It works. Users get by with it. And the developer experience is better than it was in the days of Backbone etc. So few push for change.
Users get by with it.
They would not if they had choice.
The trend at the time was that every website should be architected as an application, and then shipped to the user’s browser to render.
This is wrong. Some websites are better mostly (mostly) rendered on the client (we call them "apps", like a map application) and some are better mostly rendered on the server (like blogs).
It was and will be.
For instance: I've been using Astro with Svelte to build static sites with some components that require client-side interactivity. I really like that Astro doesn't ship any JS by default and just outputs static HTML, and when I want some page to have an interactive JS component, Svelte is an option that produces a relatively small amount of client JS.
But: Using Svelte with Astro this way for static sites has been broken since August 2025. As soon as you have a conditionally rendered child component in Svelte, Astro fails to bundle the styles for it in the static output of the site, and it does that ONLY in production, which is really devious, you could build a whole site (using astro dev) without knowing and then it breaks when you deploy it.
The issue is here: https://github.com/withastro/astro/issues/14252
I don't want to be complaining about how quickly issues get addressed in an OSS project that I'm not paying for, I don't blame them for not keeping tabs on every framework integration, I just would love to build websites with the latest versions Astro and Svelte, and I unfortunately have the feeling I should have just gone with SvelteKit for a smoother experience.
For example, here's all the code in the svelte integration: https://github.com/withastro/astro/tree/main/packages/integr...
When the client side interactivity is very contained and small in scope I also quite like just using plain JavaScript without a framework.
The JavaScript web framework ecosystem has this problem everywhere lately where frameworks try to be everything to everyone and support every use case anyone might want. It’s noble in theory but without dedicated and active maintainers for each combination there’s bound to be something left behind.
My heuristic has been to only use adapters that the core project maintainers appear to favor. The maintainers for sub-project adapters that are introduced later frequently have maintainers that come and go, with long periods where things start breaking and nobody is interested in fixing them.
Who is this framework for?
It's been years, and they still don't support unit testing Astro Actions. They still don't support inter-island communication.
"Astro v6 is around the corner" - and the only changes are 1. refactored CLI (why? it's perfectly fine) 2. bumped zod to v4
It's great if you want to build a blog or something, but it's definitely far from great for building apps.
Don't know what they are thinking.
You can easily add any global store library to your project to communicate between islands from the very simple (nanostores) to more complex stuff (are people still using mobx, redux, etc?)
I actually would prefer if Astro kept the core more simple, I never understood the point of Astro components for example; always thought their game plan would be to build their own client-side framework like what remix v3 is doing, but currently their components are too limited to make them worth using over just doing everything in react, svelte, or whatever floats your boat.
Personally I only ever use .astro components if I'm 100% sure I will never need any client side interactivity, otherwise it's just easier to ignore them.
And you get to keep your data in markdown easily portable
Your costs could explode, or worse, the business could go under and you lose all your shit.
Who is this framework for?... It's great if you want to build a blog or something, but it's definitely far from great for building apps.
Not an Astro expert, but the massive headline at the top of the homepage may provide a clue as to their intended audience:
The web framework for content-driven websites
They even say it in this blog:
Our mission to design a web framework specifically for building websites — what we call content-driven websites, to better distinguish from data-driven, stateful web applications — resonated
The docs show how to use nanostores but you can use other libs like vue refs, etc.
Some here say they gain Astro users, that Cloudflare will become part of the default deployment. But given Cloudflare's current scale, how much are Astro's users worth? Is it even worth the distraction for Cloudflare? Companies lose energy to lots of small, low-value operations.
Most acquisitions begin with announcments that nothing will change, in order to retain customers and employees. They say '<acquistion> is so great, we don't want to interfere, and we're keeping existing management and letting them run things'. After the transition period - often 1 year - the old managers leave and the big changes happen, sometimes including shutting down the product because it was an acqui-hire all along or an IP acquisition.
It seems like Cloudflare must perceive some profit beyond what is announced.
like do you understand which company doing the same thing ????? Vercel is
now we talking, cloudflare want to extend their portofolio and product offering by integrate from top to bottom like vercel does
its doens't make sense/oblivious because we view it as standalone product rather than entire suite of product offering that well integrate vertically
With that said, I have no idea on the market share or profitability of any of that or Cloudflare vs Vercel.
Also perhaps the rails that will be put in place for seamless 1 click Astro deploy will continue to push them forward with other technologies as well, so it's not just about Astro.
I do feel that fear as well, is this an unnecessary distraction for CloudFlare? Time will tell.
buying into something that becomes popular is good advertising for cheap (react is probably the only reason for any kind of goodwill at all towards facebook)
as a function of earnings this is a rounding error purchase for them
I have no inside knowledge, though.
I personally would like a highly managed Astro solution. Astro is simple but highly extendable.
I can only hope they wean themselves off NPM somehow.
But I also see the difficulty that Astro faced here. Despite being happy with the framework, I never paid for it. The paid offerings didn’t strike a chord with me. And it was partly because whatever they offered, Cloudflare already offered on a very generous free tier.
I'm glad the team have got a second life within Cloudflare,. I'm happy for the people who've given me such excellent software for free for years. Thanks folks!
But with the events of the world being what they are I have been considering moving my Astro page to BunnyCDN and thus Europe (where I live). The only Cloudflare specific feature I've used is D1 database so migrating now shouldn't be too difficult. I really hope Cloudflare does not make it difficult to use Astro on other providers, either intentionally or by accident. Next.js for a long time was essentially a framework that only ran great on Vercel, and using other providers was asking to become a second citizen. I believe it is somewhat better now with proper provider plugin system, but still.
Astro has been great and I understand they need to find a way to economically sustain their business. Joining a big company like Cloudflare is one way to do that. I can't complain too much never having opted to use Astro's commercial offerings. So I only hope they keep Astro open. I'm building a new product on top of Astro now and would hate to see it become a Cloudflare-only product.
Congratulations to the Astro team!
By all accounts, they’ve centralised the delivery of this static HTML at several layers of the network stack, and you’re not getting static HTML anymore because some other part of the business fucked it up.
The World Wide Web was serving static HTML for decades before Cloudflare came along. Open an FTP client, drag and drop, and boom - new HTMl is served.
But another great thing being swallowed by big tech...
I will never use Cloudflare if I can help it, but this outcome is preferable to Astro becoming abandonware.
Now we just need Cloudflare to buy one of the DBaaS companies so they have a solid relational offering.
I had moved out from Gatsby to Astro on my blog/site (username.com), mostly because the enormous dependency hell full of security issues, I know it's just things to generate static files, but it was causing a lot of headaches to upgrade and remove the issues.
That's exactly what made me move to Astro. I would've been happy sticking with Gatsby since it still technically does what it says on the tin, but there were so many security warnings and issues with upgrading dependencies that I gave up.
Unironically have been migrating my static pages (from Nextjs and Eleventy) to plain HTML and love it. Of course depends on your use case if that is feasible.
First, it doesn't have any provisions for code reuse. So, if you have multiple pages that use the same header, same footer, or same navigation menu, your options are either to copy-paste it (gross), or to build the final html out of smaller pieces, at which point you've reinvented either a static site generator or a web server.
Second, if you write long stretches of text, the html markup can get in the way, as opposed to unobtrusiveness of something like markdown.
at which point you've reinvented either a static site generator ...
It doesn't have to be Astro though. You can build something super simple that just includes the header, footer, and nav. Leaving most of the site as plain HTML.
But why are you looking for alternatives already?
Disliked the templating solutions, the messy documentation, the loss in momentum, and liked a lot of the stuff (especially the tooling and principles) in astro.
Also strongly disliked how political eleventy got.
I just wanted a website, not a an internal debate about what I am potentially being absorbed into. I can vote, and spend money on donations, I don't need to enact change through my tech stack.
There's even an article about it somewhere.
There's one other I've seen recently that looked good but I have misplaced the link
I've been skeptical about trying Astro because it seems to have unnecessary complexity. Also, I don't see any evidence that Cloudflare is going to prioritize making Astro easier to use.
Generative AI is not suitable for building content-driven websites because it lacks context to understand subjective user preferences.
Also, having .astro files to implement island functionality is unnecessary. Interactivity can be implemented with Javascript using web components.
I love web components (one of the things that got me into Astro), but it can be helpful to reach for something like Solid when you get into more complex UI. Most Astro projects will never need to reach for that, which is why there's no UI framework available by default.
Astro definitely tries to stick to a minimal defaults approach by design. We'd rather people start from a simple, minimal boilerplate, and reach for solutions (e.g. UI frameworks, on-demand rendering) only when they run into a problem it solves.
The Astro claim is that astro developers will all continue full-time on it. So why acquire it instead of supporting it?
The reason given in complementarity (content and infrastructure), but doesn't that mean that Cloudflare is moving into content? Perhaps it's fair to say some content fits better with Cloudflare, or making it easier to just have static sites is beneficial to Cloudflare?
Is there a convention about announcements, for the acquired to announce happily first to bring customers, and then the acquirer to confirm their benign intentions? When can we expect Cloudflare's take?
The Astro claim is that astro developers will all continue full-time on it. So why acquire it instead of supporting it?
In defense? Someone else can acquire it.
But to be really honest, thinking more about it. atleast from an "AI" bubble perspective, Cloudflare is pretty rock solid and isn't involved in the AI bubble deals whereas vercel has
If you were to use cloudflare workers say the past few months, you would've noticed some serious UI/UX improvements and its projects highlighted astro template was one of the first things (I think second was sveltekit iirc)
Anyways thinking about it now, I am sure that cloudflare must have been in talks with them for quite some time and they had the astro deployments on cloudflare workers so they must have seen its usage and other data we have no idea about to justify this purchase
That being said, I had been part of astro community almost exactly the time they had partnered up with turso (It was my holidays so I wanted to build a website from scratch, I sadly lost it but it was really cool and it had BMO from adventure time's pixel art that I lost oof :<)
So I was in their discord when they had just joined turso for astro DB and at that point, you couldn't host it locally (some tried with wasm) not sure what's the reality now though. But its interesting to see this because cloudflare offers a turso (serverless sqlite) alternative as Cloudflare D1, So we might see Astro shift to d1?
Once again, I have not been part of community for almost around 1-2 years so I don't know the current state of Astro aside from tweaking around making my own custom editor in bun for some astro templates (astro templates are really cool)
Perhaps, we are gonna see astro templates website + cloudflare workers to create an instant deployment of astro templates on cloudflare workers as a first class citizen. Honestly I would love that because cf workers/pages are free/cheapest in the whole market.
I hope that Astro still stays local first and still its serverless features can benefit everybody and not just cloudflare (looking at you vercel for nextjs)
About the download stats for open source frameworks and libraries.. I keep reading claims of "millions of weekly downloads" -- surely this is a noisy metric, right?
NPM just counts GET requests. A significant number of those must be from CI/CD pipelines, mirrors, build servers, etc.
It still signals popularity, but probably to a much lesser degree than implied.
Number of downloads? Number of stars on GH? Number of content on social medias?
The absolute value is meaningless in itself, but there's a big difference between a library that is downloaded a thousand or millions of times each week. That's the idea.
Meanwhile for-profit projects have actual customers or revenues to demonstrate popularity.
Source/disclosure: I worked at Gatsby, Netlify, Astro and Cloudflare
Websites should not be vibe coded.
That sounds like shooting yourself in the foot out of pure spite, but you do you.
I wonder if there will be some sort of collab between Hono and Astro given that Yusukue also works at Cloudflare.
Content modeling that actually scales. Built a three-tier system: Concepts (foundational knowledge) → Deep Dives (series-based learning paths) → Systems (production case studies). Each concept tracks prerequisites, related topics, interview relevance by level (L5-L8), and links back to which deep dives use it. Zod validates everything at build time. This isn't a blog template - it's a knowledge graph with static output.
Islands architecture delivers on its promise. React hydrates only for search (Fuse.js across all content types) and a few interactive bits. Rest is zero-JS HTML. Coming from years of Next.js, the bundle size difference is stark. Users on flaky mobile connections notice.
Extensibility without framework lock-in. Wrote a custom Shiki transformer for ASCII diagram highlighting - ERROR renders red, FIX green, DECISION orange. Dynamic OG images generated at build via Satori+Resvg. No Lambda cold starts, no external services, just static assets. Infra cost: basically zero.
View Transitions shipped before others figured it out. One import, smooth page transitions. Small detail, big UX lift.
Where it gets tricky: Complex content relationships require multiple getCollection() calls and manual joins. Works fine, but a query builder would help for sites with heavy cross-linking. Also, the content layer is powerful but documentation assumes simpler use cases.
Product observation: Astro found a real gap - content sites that need occasional interactivity but don't want SPA overhead. Most frameworks optimize for apps and retrofit content. Astro did the opposite and it shows.
Curious how Cloudflare integration plays out. Edge rendering + this content model could be interesting for personalization without sacrificing static performance.
https://blog.cloudflare.com/open-source-all-the-way-down-upg...
At Cloudflare, we use Astro, too — for our developer docs, website, landing pages, and more
If you want some precedent look at Hono. Initially it was just for the CF Workers runtime (not developed by CF). Then CF started using Hono internally and hired the dev to work on Hono full time. Hono works on any JS runtime.
Used this for a portfolio site and and not sure if this news is good or bad for its future.
I hope that this acquisition will go well. It would be sad to lose this great framework. At the same time, we deploy on Cloudflare. So their business is to keep Astro cool so that more people will use Claudflare, it would be a win-win!
Some features of my SSR-based side project feel like I had to hack them on, such as a hook that runs only on app start (hacked in via middleware) or manually needing to set cache control headers for auth’d content.
All in all, really happy with it. And it isn’t next.js.
But I really feel like Akamai is who dropped the ball here, this was a low hanging fruit for them and they're lacking offering this capability to offer their corporate clients as they transition to full headless. Now it's going to be their competition (Cloudflare, even Fastly through Adobe & the EDS push) who will try to take a portion of their cake.
With [Mastro], we have a different approach. The name originally stood for "minimal Astro", and we’re staying true to that. At just ~700 lines of TypeScript, Mastro will always be easily maintainable – even if by just a single person. And it's amazing how much you can do if you're very deliberate in your API's design.
[Mastro]: https://mastrojs.github.io/
Still a bit concerned that it might be too tempting to build an entire website infrastructure around cloudflare, which is a single point of failure. But there is really no better alternatives at the moment. I tried self-hosting but eventually resorted to cloudflare because of bad bots, ai, scrappers kept hammering on my sites.
[1] https://raizensoft.com/tutorials/ [2] https://ookigame.com
Astro and Tanstack are probably the best full-stack routers these days, and Astro wins in terms of the wide support for almost any client-side tech
It's the first framework I recommend to web dev beginners, after they have built something with plain HTML and CSS.
With these sort of combinations the deploy to cloudflare button gets ever bigger than over time. And then features get added that only work with CF and eventually it’s still open source but only half the stuff works standalone etc
That said - good for them.
[1] https://cto4.ai