The secrete API key I want to store in my environment file for my express server is ignoring half of it as it contains a # symbol in the middle. I can't regenerate the key. And do not want it to be left unsequre
Asked
Active
Viewed 2.3k times
2 Answers
21
i do not think it's because of the #
symbol. It is only treated as signaling a comment when encountered as first chartacter in a line...
you can try this yourself. create a .env
file with the following content:
a=#b
c="#d"
#e=f
now run `node -e 'console.log(require("dotenv").config())'
this will return:
{ parsed: { a: '#b', c: '#d' } }
Is there maybe a newline character somewhere?

Holger Will
- 7,228
- 1
- 31
- 39
-
14Simply putting single quotes around the value did the trick. Thanks for your help. – Fardeen Khan Mar 09 '20 at 19:34
-
3It is definitely the # symbol. I have the same problem. I have a PW and mid-way through it has a #. When I console log the environment variable in my server.js file it cuts the password right before hitting #. – santanaG Jul 10 '22 at 04:32
-
1you are talking about an evironment variable this is about .env Files... – Holger Will Jul 13 '22 at 18:41
-
4Yes, it is indeed the `#` symbol and needs single quotes or double quotes. – Anjan Biswas Nov 23 '22 at 08:46
0
I encountered the same problem.
In the .env
file #
is working as a breaking point because it is used for comments.
To avoid this and use #
in your environment variable you can consider your environment variable as a string.
For example, if your variable in your .env
file is SECRET_CODE= my#code
then change it to SECRET_CODE= 'my#code'
. This solved the problem in my Express app

Om Bandurkar
- 1
- 1