diff --git a/docs/docs/options.mdx b/docs/docs/options.mdx
index 884f2532..65e163e6 100644
--- a/docs/docs/options.mdx
+++ b/docs/docs/options.mdx
@@ -73,6 +73,8 @@ import 'react-tooltip/dist/react-tooltip.css'
| position | `{ x: number; y: number }` | false | | any `number` value for both `x` and `y` | override the tooltip position on the viewport |
| isOpen | boolen | false | handled by internal state | `true` `false` | the tooltip can be controlled or uncontrolled, this attribute can be used to handle show and hide tooltip outside tooltip (can be used **without** `setIsOpen`) |
| setIsOpen | function | false | | | the tooltip can be controlled or uncontrolled, this attribute can be used to handle show and hide tooltip outside tooltip |
+| afterShow | function | false | | | a function to be called after the tooltip is shown |
+| afterHide | function | false | | | a function to be called after the tooltip is hidden |
### Data attributes
diff --git a/docs/docs/upgrade-guide/changelog-v4-v5.md b/docs/docs/upgrade-guide/changelog-v4-v5.md
index e6ebbb7c..3e7a2fd8 100644
--- a/docs/docs/upgrade-guide/changelog-v4-v5.md
+++ b/docs/docs/upgrade-guide/changelog-v4-v5.md
@@ -68,8 +68,8 @@ V4 was a great react tooltip component but was built a few years ago, he was bui
- [ ] `isCapture`
- [ ] `globalEventOff`
- [ ] `getContent` - use dynamic `content`
-- [ ] `afterShow` - if requested, can be implemented later
-- [ ] `afterHide` - if requested, can be implemented later
+- [x] `afterShow`
+- [x] `afterHide`
- [ ] `overridePosition` - use `position`
- [ ] `disable` - state can be controlled or uncontrolled
- [ ] `scrollHide` - if requested, can be implemented later
diff --git a/src/App.tsx b/src/App.tsx
index 03bf7b86..3e90a193 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -165,6 +165,43 @@ function App() {
/>
+
+
+
+ console.log('After show')}
+ // eslint-disable-next-line no-console
+ afterHide={() => console.log('After hide')}
+ content="Showing tooltip and calling afterShow method"
+ />
+
+
+ console.log('After show with click')}
+ // eslint-disable-next-line no-console
+ afterHide={() => console.log('After hide with click')}
+ content="Showing tooltip and calling afterShow method"
+ />
+
+
+ console.log('After show with delay')}
+ // eslint-disable-next-line no-console
+ afterHide={() => console.log('After hide with delay')}
+ content="Showing tooltip and calling afterShow method"
+ />
+