diff --git a/src/components/todolist/Modal.jsx b/src/components/todolist/Modal.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..5c601e37d9ee4c01acc5855533571381a2135c14
--- /dev/null
+++ b/src/components/todolist/Modal.jsx
@@ -0,0 +1,68 @@
+import { useState } from "react";
+
+export default function Modal({ isOpen, closeModal, saveTask }) {
+    if (!isOpen) return null;
+
+    const [taskName, setTaskName] = useState("");
+
+    const createTask = () => {
+        return {
+            id: crypto.randomUUID(),
+            name: taskName,
+            isCompleted: false
+        }
+    }
+
+    const handleSaveTask = () => {
+        const task = createTask()
+        saveTask(task)
+        closeModal()
+    }
+
+    const handleInputChange = (e) => {
+        setTaskName(e.target.value);
+      };
+
+  return (
+    <div
+  className="absolute top-0 left-0 right-0 bottom-0 flex justify-center items-center z-50"
+  style={{ pointerEvents: 'none' }}
+>
+  <div
+    className="absolute inset-0 bg-gray-500 bg-opacity-50"
+    style={{ pointerEvents: 'none' }}
+  ></div>
+
+  <div
+    className="relative bg-white p-6 rounded-lg shadow-lg w-1/3 z-10"
+    style={{ pointerEvents: 'auto' }}
+  >
+    <h2 className="text-xl mb-4">Add a New Task</h2>
+    <p className="mb-4">Enter the task details below:</p>
+
+    <input
+      type="text"
+      className="w-full p-2 mb-4 border border-gray-300 rounded-md"
+      placeholder="Task Name"
+      value={taskName}
+      onChange={handleInputChange}
+    />
+
+    <div className="flex justify-between">
+      <button
+        onClick={closeModal}
+        className="px-4 py-2 bg-red-500 text-white rounded-md"
+      >
+        Close
+      </button>
+      <button
+        className="px-4 py-2 bg-blue-500 text-white rounded-md"
+        onClick={handleSaveTask}
+      >
+        Save Task
+      </button>
+    </div>
+  </div>
+</div>
+  );
+}
\ No newline at end of file
diff --git a/src/pages/Todolist.jsx b/src/pages/Todolist.jsx
index 7077cb0a15cc0769cba8212696bd424f4cafdaec..98182ffd14b45e5c9b2e415289fbb664f5e40fa0 100644
--- a/src/pages/Todolist.jsx
+++ b/src/pages/Todolist.jsx
@@ -1,20 +1,19 @@
 import AddTaskButton from "@components/todolist/AddTaskButton";
+import Modal from "@components/todolist/Modal";
 import TaskList from "@components/todolist/TaskList";
 import { TasksContext } from "@services/Context";
-import { useContext } from "react";
-import { Link } from "react-router-dom";
+import { useContext, useState } from "react";
 
 export default function Todolist() {
     const { tasks, setTasks } = useContext(TasksContext)
-    const addTask = () => {
-        const task = {
-            id: crypto.randomUUID(),
-            name: "Task " + (tasks.length + 1),
-            isCompleted: false
-        }
+    const saveTask = (task) => {
         setTasks([...tasks, task])
     }
 
+    const [isModalOpen, setIsModalOpen] = useState(false);
+    const openModal = () => setIsModalOpen(true);
+    const closeModal = () => setIsModalOpen(false);
+
     return (
         <div className="w-full h-screen bg-gray-200 flex justify-center items-start">
       <div className="grid grid-rows-auto gap-4 w-full max-w-md">
@@ -22,7 +21,7 @@ export default function Todolist() {
             <h1 className="text-3xl font-bold text-left mb-6">Today</h1>
         </div>
         <div>
-            <AddTaskButton onClick={addTask}/>
+            <AddTaskButton onClick={openModal}/>
         </div>
         <div>
             {tasks.length > 0 ? (
@@ -31,6 +30,8 @@ export default function Todolist() {
             
         </div>
       </div>
+
+      <Modal isOpen={isModalOpen} closeModal={closeModal} saveTask={saveTask}/>
     </div>
     )
 }
\ No newline at end of file