diff --git a/src/components/DevAreaTools/Base64Tool.jsx b/src/components/DevAreaTools/Base64Tool.jsx
new file mode 100644
index 0000000..2074d49
--- /dev/null
+++ b/src/components/DevAreaTools/Base64Tool.jsx
@@ -0,0 +1,94 @@
+import React, { useState } from "react";
+
+export default function Base64Tool() {
+ const [input, setInput] = useState("");
+ const [output, setOutput] = useState("");
+ const [error, setError] = useState(null);
+
+ const handleEncode = () => {
+ setError(null);
+ try {
+ const encoded = btoa(unescape(encodeURIComponent(input)));
+ setOutput(encoded);
+ } catch (err) {
+ setError("Failed to encode text.");
+ }
+ };
+
+ const handleDecode = () => {
+ setError(null);
+ try {
+ const decoded = decodeURIComponent(escape(atob(input)));
+ setOutput(decoded);
+ } catch (err) {
+ setError("Invalid Base64 string.");
+ }
+ };
+
+ const handleClear = () => {
+ setInput("");
+ setOutput("");
+ setError(null);
+ };
+
+ return (
+
+
Base64 Encoder / Decoder
+
+ Encode or decode Base64 text directly in your browser.
+
+
+
+ );
+}
diff --git a/src/pages/DevArea/DevTools.jsx b/src/pages/DevArea/DevTools.jsx
index a421b86..784a838 100644
--- a/src/pages/DevArea/DevTools.jsx
+++ b/src/pages/DevArea/DevTools.jsx
@@ -5,6 +5,7 @@ import JSONFormatter from "../../components/DevAreaTools/JSONFormatter";
import JWTDecoder from "../../components/DevAreaTools/JwtDecoder";
import URLEncoderDecoder from "../../components/DevAreaTools/URLEncoderDecoder";
import XmlFormatter from "../../components/DevAreaTools/XmlFormatter";
+import Base64Tool from "../../components/DevAreaTools/Base64Tool";
const DevTools = () => {
const { tool } = useParams();
@@ -15,6 +16,7 @@ const DevTools = () => {
"json-formatter": ,
"url-encoder-decoder": ,
"xml-formatter": ,
+ "base64": ,
}
diff --git a/src/pages/DevArea/index.jsx b/src/pages/DevArea/index.jsx
index 7c9fda9..bf48f4f 100644
--- a/src/pages/DevArea/index.jsx
+++ b/src/pages/DevArea/index.jsx
@@ -18,7 +18,7 @@ const DevArea = () => {
{
name: "Base64 Encoder/Decoder",
link: "/devarea/base64",
- isAvailable: false
+ isAvailable: true
},
{
name: "JWT Decoder",