I've had to see this 100 times already "how do I get with a girl I've known for 5 years?" or "how can I get out of the friend zone with a girl I've known for 3 years" Simple answer you can't. If you want to get with a girl you want to make a move (ask her out) sooner rather than later. It's very hard for someone to change their opinion of you after years of only seeing you as a friend.

Why you don't want to confess your love to your crush/friend:

Makes things awkward/makes her uncomfortable

The reason why confessing your love to someone rarely works is because they usually don't reciprocate the same feelings or they have no idea that you had those feelings. When you confess your love to someone you put them on the spot and most of the time they don't want to hurt your feelings. To avoid leading you on they may find it easier to just distance themselves for you because they will find themselves unable to feel comfortable around you again.

You'll ruin the friendship

If you have a crush on a girl and you are only her friend so you can be with her in the future you're not really her friend. You're being disingenuous. If you're actively trying to block other guys from dating her then you're doing more harm than good. If you get jealous every time she dates a new guy and hates "that she only dates asshole" then you're doing damage to yourself mentally. There's little to no real trust between you both if you have a hidden agenda. If you truly value friendship with a girl you wouldn't want to do anything to ruin it (such as trying to date or sleep with her.)

What should you do then:

Meet more women:

If you have a lack of options or a small dating pool then you'll have long crushes, because you aren't allowing yourself to have more options. If you want to remain friends with your crush then try to meet new people to get over them. Do what you can to think of them less and stop thinking about being in a serious relationship with them.

hang out with them less

If you are completely in love with your crush (infatuated with them) you need to learn how to move on. Hangout with them less and start distancing yourself from them. Do things keep yourself busy and to keep them off your mind. Stop looking at their social media and imagining being with them.

Flirt/ask them on a date

In a lot of cases when you confess your love to someone they have no idea because you take no action. If you really want to see if you have a chance with someone you should be flirting and asking them on a date. Don't ask them to "hang out" ask them on a date, so your intention will be clear. If she's isn't positively receptive when you try to flirt with her then more than likely isn't interested and just wants to remain friends. If she rejects you when you ask her on a date that should make it more than clear that she doesn't have the same feelings for you.

Heartbreak

Rejection/Heartbreak will always be one of the best teachers in life. If you believe there is a glimmer of hope you should talk to about becoming more then friends. If they reject you then your best course of action is to distance yourself from them. You'll have to live with the consequences that you've ruined a friendship. It's okay to feel sad after getting you heartbroken, but you should that energy to improve and figure out how to attract other people that feel the same way about you.

*the boring part I don't expect people to read*

I've experienced being infatuated with a girl before. We were "best friends." It was it my first experience of being in a toxic relationship. She slept both of my best friends and countless other guys I know. I tried to sabotage other guys, but she would get with them anyways. She would always come back to me for comfort and leave again. I almost lost some of best friends and a lot of people lost a lot of respect for me. I'm grateful for this experience because now that I'm older I can use the past to reflect and learn from my mistakes.

If you seriously have been obsessed with a girl for a number of years then it's best for you to move on. You shouldn't waste good years of your life waiting for her to realize "you're the guy for her." You shouldn't allow women to use an emotional sponge or take advantage of you. It doesn't matter how long you've known a girl or how many nice things you don't for you she doesn't owe you anything. If anything you're worse than the "other guys" she complains and cries about. You may think your intentions are "what's best for her" but in reality they are selfish.

I understand that many of you want to "treat her right" and "be the one for her," but (I hope people will take this the wrong way) some girl deserves to get treated like trash and they allow themselves to treated like trash. It's not your responsibility to save these girls. You have a false perception of who she really is. We all allow infatuation (not love) to blind us from time to time. This infatuation doesn't allow you to see flaws (red flags) that the person has. They may seem perfect, but most of the time they are far from it.

Some of you may not understand this now, but you hopefully will later. Once you stop showering girls with attention and start treating them as equals (and not treating them like they are some amazing creatures) women will start being more attracted to you. When you're constantly pursuing it can be a turn-off. Women like to earn men and they also enjoy chasing me. Girls don't want you to be their puppy that will do anything for them and always coming running to them. Girls want a guy that can respect.