This document will help you upgrade antd from version 5.x to 6.x. This release is primarily a technical upgrade, most component APIs remain compatible, you will need to ensure your environment meets the new requirements before upgrading.
Install:
npm install --save antd@6# oryarn add antd@6# orpnpm add antd@6
antd@6 requires React >= 18 and no longer supports React 17 or earlier.@ant-design/v5-patch-for-react-19 package to support React 19; you can remove it if present.- import '@ant-design/v5-patch-for-react-19';
antd@6 requires @ant-design/icons version >= 6.0.0.@ant-design/icons@6 is not compatible with antd@5. Make sure to upgrade both packages together.@ant-design/icons, you need to upgrade it to v6 as well.npm install --save @ant-design/icons@6# oryarn add @ant-design/icons@6# orpnpm add @ant-design/icons@6
If you encounter build errors during the upgrade, please verify that your @ant-design/icons version matches your antd version.
⚠️ The APIs listed below have been marked as deprecated. Although they are still functional at present, deprecation warnings will appear in the console, and they will be removed in version 7.0. To maintain code sustainability and compatibility, it is strongly recommended to migrate to the corresponding replacement APIs as soon as possible.
Alert
closeText is deprecated and replaced by closable.closeIcon.message is deprecated and replaced by title.Anchor
Anchor children is deprecated and replaced by items.AutoComplete
dropdownMatchSelectWidth is deprecated and replaced by popupMatchSelectWidth.dropdownStyle is deprecated and replaced by styles.popup.root.dropdownClassName is deprecated and replaced by classNames.popup.root.popupClassName is deprecated and replaced by classNames.popup.root.dropdownRender is deprecated and replaced by popupRender.onDropdownVisibleChange is deprecated and replaced by onOpenChange.dataSource is deprecated and replaced by options.Avatar.Group
maxCount is deprecated and replaced by max={{ count: number }}.maxStyle is deprecated and replaced by max={{ style: CSSProperties }}.maxPopoverPlacement is deprecated and replaced by max={{ popover: PopoverProps }}.maxPopoverTrigger is deprecated and replaced by max={{ popover: PopoverProps }}.BackTop
BackTop is deprecated and replaced by FloatButton.BackTop.Breadcrumb
routes is deprecated and replaced by items.Breadcrumb.Item 和 Breadcrumb.Separator is deprecated and replaced by items.Button.Group
Button.Group is deprecated and replaced by Space.Compact.Button
iconPosition is deprecated and replaced by iconPlacement.Calendar
dateFullCellRender is deprecated and replaced by fullCellRender.dateCellRender is deprecated and replaced by cellRender.monthFullCellRender is deprecated and replaced by fullCellRender.monthCellRender is deprecated and replaced by cellRender.Card
headStyle is deprecated and replaced by styles.header.bodyStyle is deprecated and replaced by styles.body.bordered is deprecated and replaced by variant.Carousel
dotPosition is deprecated and replaced by dotPlacement.Cascader
dropdownClassName is deprecated and replaced by classNames.popup.root.dropdownStyle is deprecated and replaced by styles.popup.root.dropdownRender is deprecated and replaced by popupRender.dropdownMenuColumnStyle is deprecated and replaced by popupMenuColumnStyle.onDropdownVisibleChange is deprecated and replaced by onOpenChange.onPopupVisibleChange is deprecated and replaced by onOpenChange.bordered is deprecated and replaced by variant.Collapse
destroyInactivePanel is deprecated and replaced by destroyOnHidden.expandIconPosition is deprecated and replaced by expandIconPlacement.Collapse.Panel
disabled is deprecated and replaced by collapsible="disabled".ConfigProvider
dropdownMatchSelectWidth is deprecated and replaced by popupMatchSelectWidth.DatePicker.RangePicker
dropdownClassName is deprecated and replaced by classNames.popup.root.popupClassName is deprecated and replaced by classNames.popup.root.popupStyle is deprecated and replaced by styles.popup.root.bordered is deprecated and replaced by variant.onSelect is deprecated and replaced by onCalendarChange.DatePicker
dropdownClassName is deprecated and replaced by classNames.popup.root.popupClassName is deprecated and replaced by classNames.popup.root.popupStyle is deprecated and replaced by styles.popup.root.bordered is deprecated and replaced by variant.onSelect is deprecated and replaced by onCalendarChange.Descriptions
labelStyle is deprecated and replaced by styles.label.contentStyle is deprecated and replaced by styles.content.Divider
type is deprecated and replaced by orientation.orientationMargin is deprecated and replaced by styles.content.margin.Drawer
headerStyle is deprecated and replaced by styles.header.bodyStyle is deprecated and replaced by styles.body.footerStyle is deprecated and replaced by styles.footer.contentWrapperStyle is deprecated and replaced by styles.wrapper.maskStyle is deprecated and replaced by styles.mask.drawerStyle is deprecated and replaced by styles.section.destroyInactivePanel is deprecated and replaced by destroyOnHidden.width is deprecated and replaced by size.height is deprecated and replaced by size.Dropdown.Button
Dropdown.Button is deprecated and replaced by Space.Compact + Dropdown + Button.Dropdown
dropdownRender is deprecated and replaced by popupRender.destroyPopupOnHide is deprecated and replaced by destroyOnHidden.overlayClassName is deprecated and replaced by classNames.root.overlayStyle is deprecated and replaced by styles.root.placement: xxxCenter is deprecated and replaced by placement: xxx.Empty
imageStyle is deprecated and replaced by styles.image.FloatButton
description is deprecated and replaced by content.Image
wrapperStyle is deprecated and replaced by styles.root.visible is deprecated and replaced by open.onVisibleChange is deprecated and replaced by onOpenChange.maskClassName is deprecated and replaced by classNames.cover.rootClassName is deprecated and replaced by classNames.root.toolbarRender is deprecated and replaced by actionsRender.Input.Group
Input.Group is deprecated and replaced by Space.Compact.InputNumber
bordered is deprecated and replaced by variant.addonAfter is deprecated and replaced by Space.Compact.addonBefore is deprecated and replaced by Space.Compact.Mentions
Mentions.Option is deprecated and replaced by options.Menu
children is deprecated and replaced by items.Modal
bodyStyle is deprecated and replaced by styles.body.maskStyle is deprecated and replaced by styles.mask.destroyOnClose is deprecated and replaced by destroyOnHidden.Notification
btn is deprecated and replaced by actions.message is deprecated and replaced by title.Progress
strokeWidth is deprecated and replaced by size.width is deprecated and replaced by size.trailColor is deprecated and replaced by railColor.gapPosition is deprecated and replaced by gapPlacement.Select
dropdownMatchSelectWidth is deprecated and replaced by popupMatchSelectWidth.dropdownStyle is deprecated and replaced by styles.popup.root.dropdownClassName is deprecated and replaced by classNames.popup.root.popupClassName is deprecated and replaced by classNames.popup.root.dropdownRender is deprecated and replaced by popupRender.onDropdownVisibleChange is deprecated and replaced by onOpenChange.bordered is deprecated and replaced by variant.Slider
tooltipPrefixCls is deprecated and replaced by tooltip.prefixCls.getTooltipPopupContainer is deprecated and replaced by tooltip.getPopupContainer.tipFormatter is deprecated and replaced by tooltip.formatter.tooltipPlacement is deprecated and replaced by tooltip.placement.tooltipVisible is deprecated and replaced by tooltip.open.Space.Compact
direction is deprecated and replaced by orientation.Space
direction is deprecated and replaced by orientation.split is deprecated and replaced by separator.Splitter
layout is deprecated and replaced by orientation.Countdown
<Statistic.Countdown /> is deprecated and replaced by <Statistic.Timer type="countdown" />.Statistic
valueStyle is deprecated and replaced by styles.content.Steps
labelPlacement is deprecated and replaced by titlePlacement.progressDot is deprecated and replaced by type="dot".direction is deprecated and replaced by orientation.items.description is deprecated and replaced by items.content.Table
pagination.position is deprecated and replaced by pagination.placement.onSelectInvert is deprecated and replaced by onChange.filterDropdownOpen is deprecated and replaced by filterDropdownProps.open.onFilterDropdownOpenChange is deprecated and replaced by filterDropdownProps.onOpenChange.filterCheckall is deprecated and replaced by locale.filterCheckAll.Tabs
popupClassName is deprecated and replaced by classNames.popup.tabPosition is deprecated and replaced by tabPlacement.destroyInactiveTabPane is deprecated and replaced by destroyOnHidden.Tabs.TabPane is deprecated and replaced by items.Tag
bordered={false} is deprecated and replaced by variant="filled".color="xxx-inverse" is deprecated and replaced by variant="solid".TimePicker
addon is deprecated and replaced by renderExtraFooter.Timeline
Timeline.Item is deprecated and replaced by items.pending is deprecated and replaced by items.pendingDot is deprecated and replaced by items.mode=left|right is deprecated and replaced by mode=start|end.Tooltip
overlayStyle is deprecated and replaced by styles.root.overlayInnerStyle is deprecated and replaced by styles.container.overlayClassName is deprecated and replaced by classNames.root.destroyTooltipOnHide is deprecated and replaced by destroyOnHidden.Transfer
listStyle is deprecated and replaced by styles.section.operationStyle is deprecated and replaced by styles.actions.operations is deprecated and replaced by actions.TreeSelect
dropdownMatchSelectWidth is deprecated and replaced by popupMatchSelectWidth.dropdownStyle is deprecated and replaced by styles.popup.root.dropdownClassName is deprecated and replaced by classNames.popup.root.popupClassName is deprecated and replaced by classNames.popup.root.dropdownRender is deprecated and replaced by popupRender.onDropdownVisibleChange is deprecated and replaced by onOpenChange.bordered is deprecated and replaced by variant.mask overlay option and supports a blur effect.import { ConfigProvider, Drawer, Modal } from 'antd';export default () => (<ConfigProvidermodal={{mask: {blur: false,},}}drawer={{mask: {blur: false,},}}><Modal /><Drawer /></ConfigProvider>);
v6 removes the trailing default margin from the Tag component (previously a horizontal list of Tags left an extra margin-inline-end on the last one). If your layout or custom styles relied on that implicit spacing, reintroduce it via ConfigProvider tag.styles:
import { ConfigProvider, Tag } from 'antd';export default () => (<ConfigProvidertag={{styles: {root: {marginInlineEnd: 8,},},}}><Tag>Tag A</Tag><Tag>Tag B</Tag><Tag>Tag C</Tag></ConfigProvider>);
If you only need the old spacing in specific areas, prefer local container overrides instead of global configuration to avoid unintended impact elsewhere.
onFinish no longer includes all data from Form.ListIn v5, Form.List was treated as a single Field, causing onFinish to include all data within the Form.List structure, even for items without a registered Form.Item. In v6, Form.List no longer includes data from unregistered child items. Therefore, you no longer need to use getFieldsValue({ strict: true }) to filter out unregistered fields.
const onFinish = (values) => {-- const realValues = getFieldsValue({ strict: true });++ const realValues = values;// ...}<Form onFinish={onFinish} />
To ensure your app works correctly after upgrading to v6, please go through the following checklist:
@ant-design/v5-patch-for-react-19.@ant-design/icons has been upgraded to >= 6.0.0 to match antd@6.If you run into problems while upgrading, please open an issue at https://new-issue.ant.design/. We'll respond as soon as possible and improve the documentation.