Astro 6.4 and Sätteri: faster builds with the Rust Markdown processor

Author
Ignacio Amat Ignacio Amat
Published
Reading Time 4 min
Rocket launching from laptop screen representing fast web performance

Astro continues to prove why it is one of the most compelling frameworks for content websites and high-performance sites. Version 6.4, released on May 28, 2026, brings a feature that convinced me to upgrade several projects: a Markdown processor written in Rust called Sätteri.

As a developer who uses Astro for this portfolio and other content projects, build times are a metric we watch closely. Less time compiling means more time writing, reviewing, and deploying.

The new Markdown processor API

Until now, Astro relied exclusively on the unified ecosystem (remark, rehype) for Markdown processing. It is powerful, with thousands of plugins available, but not always the fastest.

Astro 6.4 introduces markdown.processor, a configuration option that lets you swap the entire pipeline. The default processor is still unified, so existing projects work without changes. But now you have choices.

Configuration is done directly in astro.config.mjs:

import { defineConfig } from 'astro/config';
import { unified } from '@astrojs/markdown-remark';
import remarkToc from 'remark-toc';

export default defineConfig({
  markdown: {
    processor: unified({
      remarkPlugins: [remarkToc],
    }),
  },
});

Legacy options like markdown.remarkPlugins and markdown.rehypePlugins still work, though they are marked as deprecated and will be removed in Astro 8.0.

Sätteri: Markdown processing in Rust

The real star of this release is @astrojs/markdown-satteri, a processor based on Sätteri, a Markdown and MDX pipeline written in Rust.

According to Astro team’s benchmarks, migrating their own documentation to Sätteri shaved over a minute off build times. For large projects with hundreds or thousands of Markdown pages, this improvement multiplies.

To try it, install the package:

npm install @astrojs/markdown-satteri

And configure it in your astro.config.mjs:

import { defineConfig } from 'astro/config';
import { satteri } from '@astrojs/markdown-satteri';

export default defineConfig({
  markdown: {
    processor: satteri({
      features: {
        directive: true,
      },
    }),
  },
});

Compatibility and safe migration

The obvious question is: what about my remark plugins? Sätteri does not run remark or rehype plugins. If you depend on them, you have two options:

1. Stay on unified for now. If your project uses essential plugins without Sätteri equivalents, stick with unified. The API is stable and will continue working throughout Astro 7.x.

2. Evaluate whether you really need all those plugins. Sätteri implements many Markdown features natively that previously required plugins: tables, strikethrough, autolinks, directives, and more. You might discover you need fewer plugins than you think.

In my case, this portfolio uses remark for table of contents and syntax highlighting. Sätteri covers both needs without additional plugins, so migration was straightforward.

Cloudflare helpers and advanced routing

Astro 6.4 also improves the experimental advanced routing introduced in 6.3. If you use Cloudflare as your adapter, you now have access to the cf() helper that automatically connects KV bindings, static asset serving, client IP addresses, and prerendered error pages.

For teams deploying to Cloudflare, this significantly reduces the manual configuration that previously required a custom fetch handler. Integration with Hono as middleware has also been simplified.

My experience upgrading real projects

I have upgraded two projects to Astro 6.4: this portfolio and a technical documentation site for a client. In both cases, migrating to Sätteri was quick and build times improved by 25% to 40%.

The portfolio, which uses Content Collections with over 40 articles, went from compiling in 28 seconds to 19 seconds. It might seem small, but added up across hundreds of CI builds over a year, the time savings are substantial.

For Astro projects I manage with dynamic content, the improvement is even more noticeable. Less time waiting for builds means faster iterations and a better developer experience.

Conclusion

Astro 6.4 does not revolutionize the framework, but it reinforces its position as the fastest option for content sites. Sätteri demonstrates that rewriting critical parts in Rust can have a real impact on developers’ daily workflows.

If you use Astro in production, upgrading to 6.4 and evaluating Sätteri should be on your task list. The migration is safe, reversible, and the performance benefits are immediate.

Need help optimizing your Astro site’s performance or migrating to the latest versions? You can review my projects and stack or contact me to discuss your specific case.

Related articles

Review my developer profile

If this article matches the kind of product work your team is facing, review my stack or professional availability.

Send the role context

Role, stack, work model and timing are enough for me to confirm fit. I reply within 24 business hours.

0/500
Availability