Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Save a text file locally with a filename, by triggering a download in JavaScript
/*
* Save a text file locally with a filename by triggering a download
*/
var text = "hello world",
blob = new Blob([text], { type: 'text/plain' }),
anchor = document.createElement('a');
anchor.download = "hello.txt";
anchor.href = (window.webkitURL || window.URL).createObjectURL(blob);
anchor.dataset.downloadurl = ['text/plain', anchor.download, anchor.href].join(':');
anchor.click();
@cirocorvino

This comment has been minimized.

Copy link

commented Jun 6, 2018

thanks is a great solution

@technosmarter

This comment has been minimized.

Copy link

commented Jul 26, 2018

In the network tab of the dev tool, this URL fails: //pagead2.googlesyndication.com/pagead/adsbygoogle.js It triggers a .txt file download. –
Anyone, please help me ....My Link

@jbreckmckye

This comment has been minimized.

Copy link

commented Sep 7, 2018

Don't forget to revoke the object URL to free the memory - they don't get garbage collected

@CesMak

This comment has been minimized.

Copy link

commented Apr 20, 2019

does not work for me....

but this worked:


function download(filename, text) {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
  element.setAttribute('download', filename);

  element.style.display = 'none';
  document.body.appendChild(element);

  element.click();

  document.body.removeChild(element);
}

// Start file download.
download("hello.txt","This is the content of my file :)");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.