Skip to content

Instantly share code, notes, and snippets.

@liabru
Created April 24, 2014 17:46
Show Gist options
  • Star 39 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save liabru/11263260 to your computer and use it in GitHub Desktop.
Save liabru/11263260 to your computer and use it in GitHub Desktop.
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
Copy link

thanks is a great solution

@technosmarter
Copy link

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
Copy link

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

@CesMak
Copy link

CesMak 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 :)");

@chuannm
Copy link

chuannm commented Nov 15, 2019

Great! It worked with Google Chrome 78.0.3904.97.
Thank you so much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment