How to do Base64 Encoding and Decoding in PHP?

PHP is known to be the most widely used general-purpose programming language. It is basically a scripting language that is mainly used for web development. The reason for the popularity of this language is due to the fact that its syntax is extremely concise and simple. It means that it is capable of shrinking a lengthy code written in some other programming language into a few lines of code. As far as today’s article is concerned, then we will try to learn the concept of Base64 encoding and decoding using the PHP programming language.

Compiler Used

For creating a PHP script for the Base64 encoding and decoding and compiling it, later on, we used an online compiler.

In this guide, we wanted to focus more on the actual code rather than on the compiler used. This is exactly why we freed ourselves up from the hassle of installing a dedicated compiler for executing our PHP script; rather, we preferred using an online one. However, you can also use Visual Studio, Visual Studio Code, or any other compiler of your choice if you wish so.

Operating System Used

For this particular article, we have used the Windows 10 operating system, and we have accessed the online PHP compiler by using the Google Chrome browser; however, you can pick any operating system or browser of your choice for using this compiler.

The Built-in Encode and Decode Functions of PHP and their Parameters

The PHP programming language contains built-in functions for doing the Base64 encoding and decoding. The PHP function that is used for the Base64 encoding is “base64_encode,” whereas the one used for decoding is “base64_decode”. Both these functions accept a single parameter. The encoding function takes a normal string as the input, whereas the decoding function takes an encoded string as the input. Moreover, the return type of both of these functions is also “string.” The general syntaxes of both of these functions are given below:

string base64_encode(string StringToBeEncoded);

Here, “StringToBeEncoded” represents the string that you want to encode.

string base64_decode(string StringToBeDecoded);

Here, “StringToBeDecoded” refers to the string that you wish to decode.

These two built-in functions of PHP make it extremely convenient to do the Base64 encoding and decoding as needed. You literally need to write a single line of code for performing each of these processes, and you will realize it once you will go through the PHP script that we have designed for you.

The Process of Performing the Base64 Encoding and Decoding in PHP

The PHP script for performing the Base64 encoding and decoding is very simple. You need to take a look at this script first, and then we will try to explain it to you.

In this PHP script, we have first placed the PHP tag i.e. <?php?>. The entire PHP script will be enclosed within this tag. Anything you will write outside this tag will not be executed. Then, we have created a variable “$str” and have equalized it to the string “I am a sample string.” For printing this string on the console, we have used the statement “echo nl2br(“The original string is: $str \n”).” The “echo” command in PHP is used for printing anything on the console. The “nl2br” function is used for inserting a newline after the current statement when used in conjunction with the “\n” flag just to enhance the readability of the output. Inside this function, we have written a message and the original string that is to be printed.

Then, we have created a variable named “$encoded” and have equalized it to the built-in PHP function “base64_encode”. This function takes a string as an input. We have passed the original string to this function. Then, we have used the same “echo” statement for printing the encoded string on the console. After that, we have created a variable named “$decoded” and have equalized it to the built-in PHP function “base64_decode”. This function takes an encoded string as input. Therefore, we have passed our encoded string to it, and then we have printed the decoded string on the console by using another “echo” command.

Result of the PHP Script for the Base64 Encoding and Decoding

After creating this PHP script, we wanted to visualize its results to confirm if the Base64 encoding and decoding have taken place successfully or not. For that, we had to execute this PHP script by clicking on the “Run” button located on our compiler. The result of this PHP script is shown in the image below:

In this result, you can easily see two normal strings, i.e., one original and the other decoded and one encoded string. The original and the decoded strings exactly match each other, which is an indication that the encoding and decoding processes have worked perfectly well in PHP. Moreover, since there were very few lines of code present in this PHP script, therefore, the execution of this PHP script took place at a very fast speed.


With the help of this guide, we wanted to convey to our readers the method of the Base64 encoding and decoding in the PHP programming language. For doing so, we accessed an online compiler whose link is also mentioned at the beginning of this article. Then, using this compiler, we designed a PHP script by using the built-in Base64 encoding and decoding functions of PHP. After that, we explained this script in detail to you, followed by its result. By going through this script and its respective result, you will be able to realize how easy it is to perform the Base64 encoding and decoding in the PHP programming language. All you need to take care of while writing a PHP script is that you do not write anything outside the PHP tag. Otherwise, you will not be capable of executing it ever.

About the author

Saeed Raza

Hello geeks! I am here to guide you about your tech-related issues. My expertise revolves around Linux, Databases & Programming. Additionally, I am practicing law in Pakistan. Cheers to all of you.