Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

MDX is a format for writing Markdown content that can also include JSX components, JavaScript expressions, and ES module imports and exports. It is useful when ordinary prose needs to include reusable interface elements—such as an alert or chart—but it is more than Markdown with a few visual additions: MDX compiles to JavaScript.

What is MDX?

MDX combines familiar Markdown structures, such as headings and paragraphs, with JSX. Authors can place components in a document, use JavaScript expressions inside braces, and import or export JavaScript modules. The MDX project summarizes the idea as “MDX allows you to use JSX in your markdown content.” (MDX: What is MDX?)

That combination makes MDX useful for content that benefits from components: a guide might include a reusable warning box, while a report could embed a chart. The components must be available to the environment that processes or renders the MDX.

MDX is also a compilation step, not just a display format. The project describes it as “a language that’s compiled to JavaScript.” (MDX: Getting started) The core compiler can compile MDX to JavaScript and evaluate MDX code; integrations connect the format to bundlers and frameworks. (@mdx-js/mdx)

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How to choose an MDX setup

Begin with the toolchain the project already uses rather than selecting an integration in isolation. The official guide lists these package choices:

Existing toolchain MDX integration
esbuild or Bun @mdx-js/esbuild
Rollup or Vite @mdx-js/rollup
webpack or Next.js @mdx-js/loader
No bundler Node.js loader or core @mdx-js/mdx compiler

These are the integrations named in the MDX getting-started guide; package and framework instructions can change, so check the current documentation for your versions before adopting them. The same guide says the official @mdx-js packages are ESM-only and its current requirement is Node.js 16 or later. (MDX: Getting started)

Rank #2
Oxford Journal, Lined Writing Notebook, Writer's Journal, Classic Notebook for School or Office, 192 Pages, 7.5" x 9.5", Hardcover, Black (75506)
  • Writing journals are ideal for taking notes, jotting down ideas, planning, keeping a diary and more; each durable journal has a ribbon bookmark and an elastic closure band to secure your work.
  • Keep receipts, notes and extra papers tucked away in an expandable inside pocket; classic notebooks are made of high-quality paper to avoid bleedthrough of ink; each page has a field for the date
  • On the first page of each writer's journal, there's a space for your name, contact info and address; sturdy hardcovers are black for a classic, simple look at home or in the office
  • Notetaking journals have plenty of room for writing; when open, you'll have a firm surface for your notes, lists, diary entries and more; journals are the perfect size to carry in your bag or backpack
  • Notebooks are the perfect journaling solution for world travelers or stay-at-home writers, students and teachers; 7.5" x 9.5"; Black; 192 lined pages; Hardcover; 1 journal per pack

Check the JSX runtime and component conventions

MDX needs a JSX runtime. React is the default in the documented setup, and the project documents configuration paths for Preact, Vue, Svelte, Solid, Emotion, and Theme UI as well. Choose a runtime that fits the application, then make sure components and examples follow that runtime’s conventions.

For example, React commonly uses className for CSS classes, while some other runtimes expect different conventions. An MDX example copied between environments may need adjustment. The integration, runtime, and components should be considered together, not as independent choices. (What is MDX?; Getting started)

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Oxford Journal, Lined Writing Notebook, Writer's Journal, Classic Notebook for School or Office, 240 Pages of Lined Ivory Paper, 5" x 8.25", Red Hardcover (1014598)
  • Writing journals are ideal for taking notes, jotting down ideas, planning, keeping a diary and more; each durable journal has a ribbon bookmark and an elastic closure band to secure your work
  • Keep receipts, notes and extra papers tucked away in an expandable inside pocket; classic notebooks are made of high-quality paper to avoid bleedthrough of ink; each page has a field for the date
  • On the first page of each writer's journal, there's a space for your name, contact info and address; sturdy hardcovers are red for a bright, simple look at home or in the office
  • Notetaking journals have plenty of room for writing; when open, you'll have a firm surface for your notes, lists, diary entries and more; journals are the perfect size to carry in your bag or backpack
  • Notebooks are the perfect journaling solution for world travelers or stay-at-home writers, students and teachers; 5" x 8.25"; Red; 240 lined pages; Hardcover; 1 journal per pack

Decide who is allowed to author MDX

Whether authors are trusted is a core design decision, not a deployment detail. MDX can express JavaScript and JSX, so giving someone permission to submit MDX is not equivalent to letting them submit plain text or ordinary Markdown. If authors are not trusted, do not accept their MDX as safe input; see the security section below before choosing an architecture.

How MDX differs from ordinary Markdown

MDX does not accept every Markdown convention unchanged. Its syntax guide highlights several differences that matter when converting existing content or writing documentation for MDX authors. (MDX: What is MDX?)

Rank #4
Sale
Eccolo Lay Flat Notebook Journal, Flexible Cover, 256 Lined Pages, 6x8
  • Thoughtful Easter Gift for Writing & Reflection: Celebrate the season with a meaningful easter journal designed for daily writing, reflection, and fresh beginnings. This journal notebook works beautifully as timeless easter notebooks and thoughtful easter gifts that can be used well beyond the holiday. Ideal as a journal for writing, daily journal, or notebook for work, it offers structured lined pages for note taking, gratitude lists, and personal journaling at home, school, or office.
  • 256 Thick Pages for Smooth, Lasting Use: Crafted with 256 pages of 80 GSM thick paper notebook quality, this lined journal notebook supports smooth, consistent writing with reduced bleed-through. A dependable writing journal, journal book, and note taking notebook for extended entries, meeting notes, study sessions, or quiet reflection. Whether used as journals for writing, notebook for notes, or an easter journal keepsake, it delivers durability and comfort for everyday writing routines.
  • Flexible Cover with Durable Hardcover Feel: Designed with a flexible yet protective cover that offers the structure of a hardcover notebook while remaining lightweight and easy to carry. The hard cover journal construction helps protect pages during daily use and allows comfortable writing across both pages as a lay flat notebook. Suitable as a business notebook or professional notebook for structured tasks and organized note taking.
  • Versatile for Work, Study & Seasonal Gifting: This journal notebook transitions easily between professional, academic, and personal use. Functions as a notebook for work, office notebook, meeting notebook, and note books for work, while also serving as a journal for writing and daily journal. As an easter journal gift, it provides a clean, distraction-free space for reflection, goal setting, planning, and structured note taking throughout the year.
  • Clean Design for Everyday Writing: Designed for focus and clarity, this lined journal notebook provides evenly spaced pages that support organized thoughts and consistent handwriting. A refined choice among journal notebooks and easter notebooks, it works as a small journal notebook with ample writing space. Ideal as a notebook hardcover option for journaling, structured planning, study notes, and reliable everyday writing performance.
  • JSX replaces HTML syntax. Use JSX-compatible component markup rather than assuming raw HTML will work as it does in a Markdown processor. Components are often written with self-closing tags when they have no children.
  • Autolinks do not work. Angle-bracket text may be interpreted as JSX, so write an explicit Markdown link, such as [MDX](https://mdxjs.com/), instead of relying on an autolink.
  • Indented code blocks do not work. Indentation is used for nested components, so use fenced code blocks for code examples.
  • Literal angle brackets and braces may need escaping. If those characters are text rather than JSX or an expression, escape them using the syntax supported by the MDX guide.

These distinctions are especially important in migration: a file that looks like valid Markdown may need edits before an MDX compiler can parse it.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why MDX needs a security boundary

The MDX project is explicit: “MDX is a programming language. If you trust your authors, that’s fine. If you don’t, it’s unsafe.” (MDX: Getting started) Treat authored MDX as executable input, not as harmless content simply because it is compiled or rendered on a server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
DreamDove Thick Blank Journal Notebook 720 Pages A6 Unlined Sketchbook
  • 【 Leather Soft Cover 】DreamDove blank leather sketchbook Notebook's cover is made of smooth leather soft cover, offering a protection for your precious entries. With this exquisite cover, you can rest assured that your blank notebook will be a cherished keepsake for years to come
  • 【2 Colorful Bookmark Ribbon】This leather bound blank notebook drawing journal comes with 2 bookmark in this blank journal, and you can put it anywhere the note ending so it's easy for you to continue next time.
  • 【Premium Paper】 Made with high-quality, 80 gsm, acid-free paper in light ivory color, our blank notebook no lines is thicker than average notebooks & writing pads, so you can confidently use most pens, pencils, and markers without ghosting and bleed-through.
  • 【180°Lay Flat Design For Writing Ease】Our thread-bound blank sheet notebook is designed to lay flat, making it easier to write for both right and left-handed users. Perfect for drawing, sketching, freeform note taking and journaling.
  • 【Versatile Applications】 DreamDove soft leather hardcover blank journal is versatile for drawing, note-taking, writing, sketching, planning, mind mapping, travel journaling, language practice, and memory keeping, offering personalized space for diverse uses

The official guide warns against allowing random internet users to write MDX. It discusses iframe sandboxing and, for Node.js, stronger process or operating-system isolation as possible measures, while cautioning that security is difficult and an iframe alone may not provide complete assurance. These are not a simple, guaranteed fix; assess the threat model and isolate untrusted work accordingly.

A practical adoption path

  1. Identify the existing build environment. Match the integration to the project’s bundler or framework using the official getting-started guide, or consider the Node loader or core compiler if there is no bundler.
  2. Confirm runtime and version requirements. Choose a JSX runtime, verify the package’s ESM and Node.js requirements against the current guide, and check that the required components can be made available to MDX.
  3. Set authoring rules. Document the JSX conventions and Markdown differences your writers need, including explicit links, fenced code blocks, and valid JSX component syntax.
  4. Set the trust policy before accepting content. Limit author access to people you trust, or design and review a robust isolation approach before processing untrusted MDX.
  5. Validate against the current documentation. Follow the integration’s current package instructions and test representative content, including components and code examples, in the target runtime.

The MDX documentation index links to its syntax, integration, and package guides for a deeper implementation-specific reference: MDX documentation.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.