Importing Source Files in Solidity
==================================
There are multiple techniques for importing files into Remix.
For a tutorial about importing files click [here ](https://github.com/ethereum/remix-workshops/tree/master/LoadingContent ). You can also find this tutorial in the Remix Workshops plugin.
For a detailed explanation of the `import` keyword see the
[Solidity documentation ](https://solidity.readthedocs.io/en/develop/layout-of-source-files.html?highlight=import#importing-other-source-files )
Here are a some of the main methods of importing a file:
Importing a file from the browser's local storage
-------------------------------------------------
Files in Remix can be imported with the `import` key word with the path to the file. Use ```./``` for relative paths to increase portability.
```
pragma solidity >=0.4.22 < 0.6.0 ;
import "./ballot.sol";
```
Importing a file from your computer's filesystem
-------------------------------------------------
This method uses **remixd** - the remix daemon. Please go to the [remixd tutorial ](remixd.html ) for instructions about how to bridge the divide between the browser and your computers filesystem.
Importing from GitHub
---------------------
It is possible to import files directly from GitHub.
```
pragma solidity >=0.4.22 < 0.6.0 ;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol";
```
Importing from Swarm
--------------------
Files can be imported using all URLs supported by swarm.
If you do not have a swarm node, then use swarm-gateways.net.
```
import 'bzz-raw://5766400e5d6d822f2029b827331b354c41e0b61f73440851dd0d06f603dd91e5';
```
Importing from IPFS
--------------------
Files can be imported from IPFS.
```
import 'ipfs://Qmdyq9ZmWcaryd1mgGZ4PttRNctLGUSAMpPqufsk6uRMKh';
```
Importing from the console
--------------------------
You can also use a remix command remix.loadurl('< the_url > ')in the console:
```
remix.loadurl('https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol')
```
Notice that this will create a `github` folder in the file explorer. To load a file in the `github` folder, you would use a command like this:
```
import "github/OpenZeppelin/openzeppelin-contracts/contracts/math/SafeMath.sol";
```