diff --git a/crates/oxc_linter/src/rules/unicorn/no_length_as_slice_end.rs b/crates/oxc_linter/src/rules/unicorn/no_length_as_slice_end.rs
index 166fb1e5d1629..922231ea6e3f7 100644
--- a/crates/oxc_linter/src/rules/unicorn/no_length_as_slice_end.rs
+++ b/crates/oxc_linter/src/rules/unicorn/no_length_as_slice_end.rs
@@ -1,7 +1,7 @@
 use oxc_ast::{ast::MemberExpression, AstKind};
 use oxc_diagnostics::OxcDiagnostic;
 use oxc_macros::declare_oxc_lint;
-use oxc_span::Span;
+use oxc_span::{GetSpan, Span};
 
 use crate::{
     ast_util::is_method_call, context::LintContext, rule::Rule, utils::is_same_reference, AstNode,
@@ -37,7 +37,8 @@ declare_oxc_lint!(
     /// foo.slice(1)
     /// ```
     NoLengthAsSliceEnd,
-    restriction
+    restriction,
+    fix
 );
 
 impl Rule for NoLengthAsSliceEnd {
@@ -76,10 +77,18 @@ impl Rule for NoLengthAsSliceEnd {
             return;
         }
 
-        ctx.diagnostic(no_length_as_slice_end_diagnostic(
-            call_expr.callee.get_member_expr().unwrap().static_property_info().unwrap().0,
-            second_argument.span,
-        ));
+        ctx.diagnostic_with_fix(
+            no_length_as_slice_end_diagnostic(
+                call_expr.callee.get_member_expr().unwrap().static_property_info().unwrap().0,
+                second_argument.span,
+            ),
+            |fixer| {
+                let start = call_expr.arguments[0].span().end;
+                let end = call_expr.arguments[1].span().end;
+                let span = Span::new(start, end);
+                fixer.delete(&span)
+            },
+        );
     }
 }
 
@@ -115,5 +124,14 @@ fn test() {
         "foo?.slice(1, foo?.length)",
     ];
 
-    Tester::new(NoLengthAsSliceEnd::NAME, pass, fail).test_and_snapshot();
+    let fix = vec![
+        ("foo.slice(1, foo.length)", "foo.slice(1)"),
+        ("foo?.slice(1, foo.length)", "foo?.slice(1)"),
+        ("foo.slice(1, foo.length,)", "foo.slice(1,)"),
+        ("foo.slice(1, (( foo.length )))", "foo.slice(1)"),
+        ("foo.slice(1, foo?.length)", "foo.slice(1)"),
+        ("foo?.slice(1, foo?.length)", "foo?.slice(1)"),
+    ];
+
+    Tester::new(NoLengthAsSliceEnd::NAME, pass, fail).expect_fix(fix).test_and_snapshot();
 }