---
title: Highlight
description: "`Highlight` is a component that highlights specified strings within text. By default, it renders a `p` element."
links:
- source: https://github.com/yamada-ui/yamada-ui/tree/main/packages/react/src/components/highlight
- storybook: https://yamada-ui.github.io/yamada-ui?path=/story/components-highlight--basic
---
```tsx
わかんないよ…。わっかんないよ! ジュー君の言ってることはひとつもわかんないよ!
ジュー君がいいって言ってるもの、何がいいのかわかんないよ!
わかんない!私にはわかんないの!
ブラッディって何がカッコイイの?血なんて嫌だよ!痛いだけだよ!
狂うのどこがカッコイイの?クレイジーのどこがいいのかわかんない!
```
## Usage
```tsx
import { Highlight } from "@yamada-ui/react"
```
```tsx
import { Highlight } from "@/components/ui"
```
```tsx
import { Highlight } from "@workspaces/ui"
```
```tsx
```
### Change Variant
```tsx
{(variant, index) => (
わかんないよ…。わっかんないよ!
ジュー君の言ってることはひとつもわかんないよ!
ジュー君がいいって言ってるもの、何がいいのかわかんないよ!
わかんない!私にはわかんないの!
ブラッディって何がカッコイイの?血なんて嫌だよ!痛いだけだよ!
狂うのどこがカッコイイの?クレイジーのどこがいいのかわかんない!
)}
```
### Change Color Scheme
```tsx
{(colorScheme, index) => (
わかんないよ…。わっかんないよ!
ジュー君の言ってることはひとつもわかんないよ!
ジュー君がいいって言ってるもの、何がいいのかわかんないよ!
わかんない!私にはわかんないの!
ブラッディって何がカッコイイの?血なんて嫌だよ!痛いだけだよ!
狂うのどこがカッコイイの?クレイジーのどこがいいのかわかんない!
)}
```
### Specify Multiple
```tsx
わかんないよ…。わっかんないよ! ジュー君の言ってることはひとつもわかんないよ!
ジュー君がいいって言ってるもの、何がいいのかわかんないよ!
わかんない!私にはわかんないの!
ブラッディって何がカッコイイの?血なんて嫌だよ!痛いだけだよ!
狂うのどこがカッコイイの?クレイジーのどこがいいのかわかんない!
```
### Style the Highlight
```tsx
わかんないよ…。わっかんないよ! ジュー君の言ってることはひとつもわかんないよ!
ジュー君がいいって言ってるもの、何がいいのかわかんないよ!
わかんない!私にはわかんないの!
ブラッディって何がカッコイイの?血なんて嫌だよ!痛いだけだよ!
狂うのどこがカッコイイの?クレイジーのどこがいいのかわかんない!
```
### Use Fragments
By default, `Highlight` renders a `p` element. By setting `fragment`, `highlight` will use [Fragment](https://react.dev/reference/react/Fragment).
```tsx
わかんないよ…。わっかんないよ!
ジュー君の言ってることはひとつもわかんないよ!
ジュー君がいいって言ってるもの、何がいいのかわかんないよ!
わかんない!私にはわかんないの!
ブラッディって何がカッコイイの?血なんて嫌だよ!痛いだけだよ!
狂うのどこがカッコイイの?クレイジーのどこがいいのかわかんない!
```
### Customize the Rendered Element
By using `useHighlight`, you can customize multiple elements and their styles.
```tsx
const chunks = useHighlight({
query: ["わかんない", "ジュー君"],
text: " わかんないよ…。わっかんないよ! ジュー君の言ってることはひとつもわかんないよ! ジュー君がいいって言ってるもの、何がいいのかわかんないよ! わかんない!私にはわかんないの! ブラッディって何がカッコイイの?血なんて嫌だよ!痛いだけだよ! 狂うのどこがカッコイイの?クレイジーのどこがいいのかわかんない!",
})
return (
{chunks.map(({ match, text }, index) =>
match ? (
text === "わかんない" ? (
{text}
) : (
{text}
)
) : (
text
),
)}
)
```
## Props
| Prop | Default | Type | Description |
| ------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `as` | - | `As` | The HTML element to render. |
| `asChild` | - | `boolean` | Merges its props onto its immediate child. |
| `css` | - | `CSSObject \| CSSObject[]` | The CSS object. |
| `colorScheme` | - | `"amber" \| "black" \| "blackAlpha" \| "blue" \| "cyan" \| "danger" \| "emerald" \| "error" \| "flashy" \| "fuchsia" ...` | Set color scheme variables. |
| `children` | - | `string` | The text used for searching. |
| `query` | - | `string \| string[]` | Can be a single string or an array of strings. These are the terms that are highlighted in the text. |
| `align` | - | `"-moz-initial" \| "-webkit-match-parent" \| "center" \| "end" \| "inherit" \| "initial" \| "justify" \| "left" \| "match-parent" \| "revert-layer" ...` | The CSS `text-align` property. |
| `casing` | - | `"-moz-initial" \| "capitalize" \| "full-size-kana" \| "full-width" \| "inherit" \| "initial" \| "lowercase" \| "none" \| "revert-layer" \| "revert" ...` | The CSS `text-transform` property. |
| `decoration` | - | `"-moz-initial" \| "ActiveBorder" \| "ActiveCaption" \| "aliceblue" \| "antiquewhite" \| "AppWorkspace" \| "aqua" \| "aquamarine" \| "auto" \| "azure" ...` | The CSS `text-decoration` property. |
| `fragment` | `false` | `boolean` | If `true`, `Fragment` is used for rendering. |
| `markProps` | - | `MarkProps` | Properties passed to the Mark component which is used to highlight the matched terms. |