Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • NodeJS Tutorial
  • NodeJS Exercises
  • NodeJS Assert
  • NodeJS Buffer
  • NodeJS Console
  • NodeJS Crypto
  • NodeJS DNS
  • NodeJS File System
  • NodeJS Globals
  • NodeJS HTTP
  • NodeJS HTTP2
  • NodeJS OS
  • NodeJS Path
  • NodeJS Process
  • NodeJS Query String
  • NodeJS Stream
  • NodeJS String Decoder
  • NodeJS Timers
  • NodeJS URL
  • NodeJS Interview Questions
  • NodeJS Questions
  • Web Technology
Open In App
Next Article:
Node.js fs.chown() Method
Next article icon

Node fs.appendFile() Function

Last Updated : 11 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

The fs.appendFile() method in Node.js is used to add data to the end of a file without deleting its existing content. It works asynchronously, which means it doesn’t block other operations. If the file doesn’t exist, it is automatically created. This method is useful for tasks like logging or saving updates.

Syntax:

fs.appendFile( path, data[, options], callback )

Parameters:

This method accepts four parameters, as described below:

  1. path (String | Buffer | URL | Number):
    • This represents the file path or file descriptor where the data should be appended.
    • It can be a string specifying the file path, a Buffer containing the file path, a URL, or a file descriptor.
  2. data (String | Buffer):
    • The data that will be appended to the file.
    • This can be either a string or a Buffer containing the data to append.
  3. options (Optional) (String | Object):
    • An optional parameter that can either be a string or an object.
    • The object may include:
      • encoding (string): Specifies the file encoding. The default value is ‘utf8’.
      • mode (integer): Specifies the file permissions. The default value is 0o666 (read/write permissions).
      • flag (string): Specifies the file flag used when appending to the file. The default value is ‘a’ (append mode).
  4. callback (Function):
    • A callback function to execute after the operation is complete.
    • The err object will be passed as a parameter to the callback, indicating whether the operation was successful or if an error occurred.

Below examples illustrate the fs.appendFile() method in Node.js:

Example 1: This example shows the appending of the given text to a file.

JavaScript
// Node.js program to demonstrate the  // fs.appendFile() method   // Import the filesystem module  const fs = require('fs');  // Get the file contents before the append operation  console.log("\nFile Contents of file before append:",     fs.readFileSync("example_file.txt", "utf8"));  fs.appendFile("example_file.txt", "World", (err) => {     if (err) {         console.log(err);     }     else {         // Get the file contents after the append operation          console.log("\nFile Contents of file after append:",             fs.readFileSync("example_file.txt", "utf8"));     } });  

Output:

File Contents of file before append: Hello File Contents of file after append: HelloWorld

Example 2: This example shows the usage of the optional parameters to change the file encoding, mode, and flag of the operation.

JavaScript
// Node.js program to demonstrate the  // fs.appendFile() method   // Import the filesystem module  const fs = require('fs');  // Get the file contents before the append operation  console.log("\nFile Contents of file before append:",     fs.readFileSync("example_file.txt", "utf8"));  fs.appendFile("example_file.txt", " - GeeksForGeeks",     { encoding: "latin1", mode: 0o666, flag: "a" },     (err) => {         if (err) {             console.log(err);         }         else {             // Get the file contents after the append operation              console.log("\nFile Contents of file after append:",                 fs.readFileSync("example_file.txt", "utf8"));         }     });  

Output:

File Contents of file before append: This is a test file File Contents of file after append: This is a test file - GeeksForGeeks

We have a Cheat Sheet on Node fs modules where we covered all the fs methods to check those please go through Node File System Complete Reference article.




Next Article
Node.js fs.chown() Method
author
sayantanm19
Improve
Article Tags :
  • JavaScript
  • Node.js
  • Web Technologies
  • Node.js-fs-module

Similar Reads

  • Node JS fs.readFile() Method
    ​In Node.js, the fs.readFile() method is a fundamental tool for reading files asynchronously, allowing your application to remain responsive while accessing file data. This method is part of Node.js's File System (fs) module, which provides an API for interacting with the file system. Syntaxfs.readF
    4 min read
  • Node.js fs.exists() Method
    The fs exists method in node is used to check if the input file or the directory exists or not. It is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around POSIX functions. Syntax:fs.exists( path, callb
    2 min read
  • Node fs.existsSync() Method
    In Node.js, the fs.existsSync() method checks if a file or folder exists at a given path. It's synchronous, meaning it pauses the program until it finds the result (either true if it exists, or false if it doesn't). Because it stops everything while it works, it’s best used for quick checks in small
    3 min read
  • Node fs.mkdir() Method
    The fs.mkdir() method in Node.js is used to create a directory asynchronously. Syntax fs.mkdir(path, mode, callback)Parameters: This method accepts three parameters as mentioned above and described below: path: This parameter holds the path of the directory that has to be created.mode: This paramete
    2 min read
  • Node.js fs.truncate() Method
    The fs.truncate() method in node.js is used to change the size of the file i.e either increase or decrease the file size. This method changes the length of the file at the path by len bytes. If len represents a length shorter than the file's current length, the file is truncated to that length. If i
    2 min read
  • Node.js fs.renameSync() Method
    In Node.js, the fs.renameSync() method is part of the built-in File System (fs) module and is used to rename or move files and directories synchronously. This method is useful when you need to quickly change a file's name or move it to a different directory synchronously. It blocks the execution of
    3 min read
  • Node.js fs.rmdir() Method
    The fs.rmdir() method is used to delete a directory at the given path. It can also be used recursively to remove nested directories. Syntax: fs.rmdir( path, options, callback )Parameters: This method accepts three parameters as mentioned above and described below: path: It holds the path of the dire
    3 min read
  • Node.js fs.stat() Method
    The fs.stat() method is used to return information about the given file or directory. It returns an fs.Stat object which has several properties and methods to get details about the file or directory. Syntax:fs.stat( path, options, callback )Parameters: This method accept three parameters as mentione
    3 min read
  • Node.js fs.mkdtempSync() Method
    The fs.mkdtempSync() method is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around standard POSIX functions. The fs.mkdtempSync() method creates a unique temporary directory. This is the synchronous v
    2 min read
  • Node.js fs.realpath() Method
    The fs.realPath() method is used to compute the canonical pathname of the given path. It does so by resolving the ., .. and the symbolic links in the path. Syntax: fs.realpath( path, options, callback ) Parameters: This method accept three parameters as mentioned above and described below: path: It
    3 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences