--- title: RichText description: The `RichText` component renders a metafield of type `rich_text_field`. By default the rendered output uses semantic HTML tags. Customize how nodes are rendered with the `components` prop. api_version: 2025-07 api_name: hydrogen-react source_url: html: https://shopify.dev/docs/api/hydrogen-react/latest/components/richtext md: https://shopify.dev/docs/api/hydrogen-react/latest/components/richtext.md --- # Rich​Textcomponent The `RichText` component renders a metafield of type `rich_text_field`. By default the rendered output uses semantic HTML tags. Customize how nodes are rendered with the `components` prop. ## Props * data string required The JSON string that correspond to the Storefront API's [RichText format](https://shopify.dev/docs/apps/custom-data/metafields/types#rich-text-formatting). * as ComponentGeneric An HTML tag or React Component to be rendered as the base element wrapper. The default is `div`. * components CustomComponents Customize how rich text components are rendered * plain boolean Remove rich text formatting and render plain text ### CustomComponents * heading Customize the headings. Each heading has a \`level\` property from 1-6. Defaults to \`\

\` to \`\

\` ```ts ({ node, }: { node: { type: "heading"; level: number; children?: ReactNode[]; }; }) => ReactNode ``` * link Customize links. Defaults to a React Router \`\\` component in Hydrogen and a \`\\` in Hydrogen React. ```ts ({ node, }: { node: { type: "link"; url: string; title?: string; target?: string; children?: ReactNode[]; }; }) => ReactNode ``` * list Customize lists. They can be either ordered or unordered. Defaults to \`\
    \` or \`\