rembrembdocs

Skip to main content

Bun home pagelight logodark logo

[Runtime

](../../../index.md)[Package Manager

](../../../pm/cli/install/index.md)[Bundler

](../../../bundler/index.md)[Test Runner

](../../../test/index.md)[Guides

](../../index.md)[Reference

](https://bun.com/reference)[Blog

](https://bun.com/blog)[Feedback

](../../../feedback/index.md)

Bun implements the node:fs module, which includes the fs.appendFile and fs.appendFileSync functions for appending content to files.


You can use fs.appendFile to asynchronously append data to a file, creating the file if it does not yet exist. The content can be a string or a Buffer.

import { appendFile } from "node:fs/promises";

await appendFile("message.txt", "data to append");

To use the non-Promise API:

import { appendFile } from "node:fs";

appendFile("message.txt", "data to append", err => {
  if (err) throw err;
  console.log('The "data to append" was appended to file!');
});

To specify the encoding of the content:

import { appendFile } from "node:fs";

appendFile("message.txt", "data to append", "utf8", callback);

To append the data synchronously, use fs.appendFileSync:

import { appendFileSync } from "node:fs";

appendFileSync("message.txt", "data to append", "utf8");

See the Node.js documentation for more information.

Was this page helpful?

Suggest editsRaise issue

[

Write a Response to a file

Previous

](../response/index.md)[

Write a file incrementally

Next

](../filesink/index.md)